Fibre Channel Interface

Fibre Channel Interface
Fibre Channel Interface
Fibre Channel Interface
©2006, Seagate Technology LLC All rights reserved
Publication number: 100293070, Rev. A
March 2006
Seagate and Seagate Technology are registered trademarks of Seagate Technology LLC.
SeaTools, SeaFONE, SeaBOARD, SeaTDD, and the Wave logo are either registered trademarks or trademarks of Seagate Technology LLC. Other product names are registered trademarks or trademarks of their owners.
Seagate reserves the right to change, without notice, product offerings or specifications. No part
of this publication may be reproduced in any form without written permission of Seagate Technology LLC.
Revision status summary sheet
Revision
Date
Writer/Engineer
Sheets Affected
A
03/08/06
C. Chalupa/J. Coomes
All
iv
Fibre Channel Interface Manual, Rev. A
Contents
1.0
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
2.0
Publication overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
How to use this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
General interface description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1
2
3.0
Introduction to Fibre Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2
Channels vs. networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3
The advantages of Fibre Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
4
4
4.0
Fibre Channel standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1
General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1.1
Description of Fibre Channel levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1.1.1
4.1.1.2
4.1.1.3
4.1.1.4
4.1.1.5
4.1.1.6
4.1.2
4.1.3
4.1.4
4.1.5
FC-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
FC-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
FC-1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
FC-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
FC-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
FC-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Relationship between the levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Topology standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FC Implementation Guide (FC-IG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Applicable Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
7
7
5.0
Introduction to topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1
Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4
Arbitrated loop topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5
Topology and port login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6
Port bypass circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
19
19
20
21
22
22
6.0
Data encoding (FC-1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1
Encoding and decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2
Buffer-to-buffer data transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3
Data hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3.1
Transmission words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
23
24
25
25
6.3.1.1
6.3.1.2
6.4
Data characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Special characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Ordered sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.4.1
Primitive signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.4.1.1
6.4.1.2
6.4.2
Primitive signals used as frame delimiters . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Primitive signals custom made for arbitrated loop topologies . . . . . . . . . . . . . .28
Primitive sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Fibre Channel Interface Manual, Rev. A
i
6.4.2.1
7.0
Primitive sequences custom made for Arbitrated Loop topologies . . . . . . . . . . 31
Framing protocol (FC-2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1
Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1.1
Frame structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1.1.1
7.1.1.2
7.1.1.3
7.1.1.4
7.1.1.5
Start-of-frame (SOF) delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Frame header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data field (payload) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CRC field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
End-of-frame (EOF) delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
34
39
39
40
7.1.2
Frame Field Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Frame sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
41
41
42
8.0
Classes of service (FC-2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1
Class 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2
Class 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3
Class 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.1
Class 3 flow control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4
Classes 4 and 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
43
43
43
44
44
9.0
FC Arbitrated Loop concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1
Arbitrated Loop physical address (AL_PA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2
Loop initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.1
Loop initialization state machine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2.2
Loop reinitialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3
Accessing another L_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.1
Access fairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.2
Access unfairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3.3
Clock skew management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4
Loop ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.1
Maximum number of NL_Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.2
Blocking switch emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.3
Non-meshed environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.4
Assigned AL_PA values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
45
48
58
59
59
60
61
61
61
61
62
62
63
10.0
Fibre Channel link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.1
Basic link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.1.1
Abort Sequence (ABTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.1.2
Basic Accept (BA_ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.1.3
Basic Reject (BA_RJT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.2
Extended link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.2.1
Port Login (PLOGI) (02x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
10.2.2
Port Logout (PLOGO) (03x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.2.3
Fabric Login (FLOGI) (04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
10.2.4
Process Login (PRLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
10.2.5
Process Logout (PRLO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
10.2.6
Third Party Process Logout (TPRLO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.2.7
Read Link Error Status Block (RLS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.2.8
Reinstate Recovery Qualifier (RRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.2.9
Port Discovery (PDISC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
10.2.10 Discover Address (ADISC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
10.2.11 Report Node Capabilities (RNC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.2.12 Link Service Reject (LS_RJT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.3
FC common transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.3.1
Register FC-4 Types Name Service (RFT_ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.2
7.3
7.4
ii
Fibre Channel Interface Manual, Rev. A
11.0
Enclosure services interface (ESI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.1
Discovery process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2
8045 mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.1
8045 ESI pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3
8067 mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.1
8067 ESI command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.2
8067 ESI interface pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.3
8067 information format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.4
ESI command transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.4.1
ESI read transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.4.2
ESI write transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.5
Enclosure-initiated ESI transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.5.1
EIE Discovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.5.2
EIE operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.5.3
Enclosure requested information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.5.3.1
11.5.3.2
11.5.3.3
11.5.3.4
11.5.3.5
11.5.3.6
11.5.3.7
11.5.3.8
11.5.3.9
12.0
12.3
12.4
12.5
12.6
150
153
156
162
Sense Key Specific Valid (SKSV) and Sense Key Specific . . . . . . . . . . . . . . .164
12.5.2
Current and deferred errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Parameter rounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Drive features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.1
Self-Monitoring Analysis and Reporting Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2
Self-test operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2.1
Default self-test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2.2
Short and extended device self-tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2.3
Device self-test modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2.3.1
13.2.3.2
13.2.3.3
14.0
137
137
137
138
144
Operation Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
Logical block address. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
Operation code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
Relative address bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
Transfer length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
Control byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
FCP XFER RDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FCP DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FCP RSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.5.1
Extended Sense Data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.5.1.1
13.0
Device Standard Inquiry Data page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124
Device Address page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
Loop Position Map page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126
Device Identification page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127
Device Temperature page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
Port Parameters page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
Link Status page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130
Spin-Down Control Action Specific Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133
ESI data validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
SCSI operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.1
SCSI-FCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.1.1
FC-4 mapping layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2
FCP CMND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2.1
Command Descriptor Block (CDB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2.1.1
12.2.1.2
12.2.1.3
12.2.1.4
12.2.1.5
12.2.1.6
113
113
115
115
116
116
117
117
118
118
118
119
119
121
122
169
169
169
169
169
170
Foreground mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
Background mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170
Elements common to foreground and background self-test modes . . . . . . . . .171
Seagate Technology support services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Fibre Channel Interface Manual, Rev. A
iii
iv
Fibre Channel Interface Manual, Rev. A
List of Tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table 6.
Table 7.
Table 8.
Table 9.
Table 10.
Table 11.
Table 12.
Table 13.
Table 14.
Table 15.
Table 16.
Table 17.
Table 18.
Table 19.
Table 20.
Table 21.
Table 22.
Table 23.
Table 24.
Table 25.
Table 26.
Table 27.
Table 28.
Table 29.
Table 30.
Table 31.
Table 32.
Table 33.
Table 34.
Table 35.
Table 36.
Table 37.
Table 38.
Table 39.
Table 40.
Table 41.
Table 42.
Table 43.
Table 44.
Table 45.
Page
Fibre Channel port types ............................................................................................................ 20
Running disparity examples........................................................................................................ 24
Primitive signals.......................................................................................................................... 26
Frame delimiters ......................................................................................................................... 27
FC-AL primitive signals............................................................................................................... 28
Primitive sequences.................................................................................................................... 30
FC-AL primitive sequences......................................................................................................... 31
Frame Header............................................................................................................................. 34
Routing Control values ............................................................................................................... 36
Data type codes.......................................................................................................................... 37
Frame Control (F_CTL) bit definitions ........................................................................................ 38
Frame Byte Order ....................................................................................................................... 40
8B/10B characters with neutral disparity .................................................................................... 45
AL_PA value priorities ................................................................................................................ 47
AL_PA addressing ..................................................................................................................... 47
Loop Initialization Primitive (LIP) sequences .............................................................................. 50
Loop initialization sequence AL_PA bit map............................................................................... 55
AL_PA mapped to bit maps ........................................................................................................ 63
Basic link services header .......................................................................................................... 66
BA_ACC Payload ....................................................................................................................... 68
BA_RJT Payload ........................................................................................................................ 69
Extended link services header.................................................................................................... 70
PLOGI Payload........................................................................................................................... 72
Port/Node Name format.............................................................................................................. 73
N_Port Common Service Parameters ........................................................................................ 74
Common Features bits ............................................................................................................... 75
Class Service Parameters .......................................................................................................... 76
Initiator Control fields .................................................................................................................. 77
Recipient Control fields............................................................................................................... 77
Port Login Accept Payload (PLOGI ACC) .................................................................................. 79
LOGO Payload ........................................................................................................................... 81
PLOGO Accept ........................................................................................................................... 81
FLOGI Payload ........................................................................................................................... 82
F_Port Common Service Parameters......................................................................................... 83
Common Features bits ............................................................................................................... 84
Class 3 Service Parameters ....................................................................................................... 84
Service Option Class 3 fields...................................................................................................... 85
Fabric Login Accept Payload (FLOGI ACC) ............................................................................... 85
PRLI Payload.............................................................................................................................. 87
PRLI Accept Payload.................................................................................................................. 89
PRLO Payload ............................................................................................................................ 91
PRLO Accept Payload ................................................................................................................ 93
TPRLO Payload.......................................................................................................................... 95
TPRLO Accept Payload.............................................................................................................. 97
RLS Payload............................................................................................................................... 99
Fibre Channel Interface Manual, Rev. A
v
Table 46.
Table 47.
Table 48.
Table 49.
Table 50.
Table 51.
Table 52.
Table 53.
Table 54.
Table 55.
Table 56.
Table 57.
Table 58.
Table 59.
Table 60.
Table 61.
Table 62.
Table 63.
Table 64.
Table 65.
Table 66.
Table 67.
Table 68.
Table 69.
Table 70.
Table 71.
Table 72.
Table 73.
Table 74.
Table 75.
Table 76.
Table 77.
Table 78.
Table 79.
Table 80.
Table 81.
Table 82.
Table 83.
Table 84.
Table 85.
Table 86.
Table 87.
Table 88.
Table 89.
Table 90.
Table 91.
Table 92.
vi
RLS Accept Payload ................................................................................................................. 100
RRQ Payload ............................................................................................................................ 102
RRQ Accept Payload ................................................................................................................ 103
ADISC Payload ......................................................................................................................... 104
ADISC Accept Payload ............................................................................................................. 105
RNC Payload ............................................................................................................................ 106
Capability Entries ...................................................................................................................... 106
LS_RJT Payload ....................................................................................................................... 108
Common transport header ........................................................................................................ 109
RFT_ID Payload........................................................................................................................ 111
SFF 8045 ESI pinouts ............................................................................................................... 115
ESI command format ................................................................................................................ 116
SFF 8067 ESI pinouts ............................................................................................................... 117
Bit order in 8067 mode ESI transfers ........................................................................................ 117
Byte order in 8067 mode ESI transfers ..................................................................................... 117
Enclosure Request.................................................................................................................... 122
Initiate LIP Action Specific Bits.................................................................................................. 123
Enclosure Initiated ESI Page Format ........................................................................................ 124
Device Standard Inquiry Data page .......................................................................................... 124
Device Address page ................................................................................................................ 125
Loop Position Map page ........................................................................................................... 126
Device Identification page ......................................................................................................... 127
Device Temperature page......................................................................................................... 128
Port Parameters page ............................................................................................................... 129
Link Status page ....................................................................................................................... 131
Spin-Down Control Action Specific Bits .................................................................................... 133
Spin-Down Control Status......................................................................................................... 134
ESI data validation accept......................................................................................................... 135
FCP CMND frame header......................................................................................................... 138
FCP CMND Payload ................................................................................................................. 140
TASK MANAGEMENT FLAGS field.......................................................................................... 141
Operation Code format for CDB................................................................................................ 144
Typical CDB for six-byte commands ......................................................................................... 144
Typical CDB for ten-byte commands ........................................................................................ 145
Typical CDB for 12-byte commands ......................................................................................... 146
Typical CDB for 16-byte commands ......................................................................................... 147
Typical variable length CDB for long LBA 32-byte commands ................................................. 148
Control byte............................................................................................................................... 149
FCP XFER RDY header............................................................................................................ 150
FCP XFER RDY Payload.......................................................................................................... 151
FCP DATA frame header .......................................................................................................... 153
Frame Control bit descriptions .................................................................................................. 154
FCP RSP header ...................................................................................................................... 156
FCP RSP Payload..................................................................................................................... 158
Response Information format.................................................................................................... 161
Response Code (RSP_CODE) Definitions ............................................................................... 161
Disc Drive Extended Sense Data Summary ............................................................................. 162
Fibre Channel Interface Manual, Rev. A
Table 93.
Table 94.
Table 95.
Table 96.
Table 97.
Table 98.
Sense Key Specific reference tables ........................................................................................ 164
Field Pointer bytes .................................................................................................................... 164
Actual Retry Count bytes .......................................................................................................... 164
Format Indication bytes ............................................................................................................ 165
Applicable disc drive sense keys .............................................................................................. 165
Device Self-test mode summary............................................................................................... 172
Fibre Channel Interface Manual, Rev. A
vii
viii
Fibre Channel Interface Manual, Rev. A
List of Figures
Figure 1.
Figure 2.
Figure 3.
Figure 4.
Figure 5.
Figure 6.
Figure 7.
Figure 8.
Figure 9.
Figure 10.
Figure 11.
Figure 12.
Figure 13.
Figure 14.
Figure 15.
Figure 16.
Figure 17.
Figure 18.
Figure 19.
Figure 20.
Fibre Channel Standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Arbitrated loop topology (dual port private loop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Port bypass circuit physical interconnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Decimal value translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Serialization process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
FC data hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Relationship between frames, sequences, and exchanges. . . . . . . . . . . . . . . . . . . . . . . . . . 33
Frame structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
FC–SCSI exchanges, command and response transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Loop initialization sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Loop initialization state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Loop state machine (simplified) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Discovery process flow diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
ESI transfer phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
ESI command transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
ESI reads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
ESI writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Enclosure Initiated ESI Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Prepare for Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
EIE Operation Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Fibre Channel Interface Manual, Rev. A
ix
x
Fibre Channel Interface Manual, Rev. A
1.0
Publication overview
This publication provides some general information about Fibre Channel as well as detailed information about
how Seagate disc drives implement Fibre Channel Arbitrated Loop technology.
This publication will continue to be revised as Fibre Channel technology advances and as Seagate Fibre
Channel drives change to meet data storage needs.
You will observe that many references are made to SCSI throughout this publication. This is because Fibre
Channel transports the SCSI command set. This concept is discussed in more detail throughout this publication beginning in Chapter 2. For details about each SCSI command, refer to the Seagate SCSI Command Reference Manual, part number 100293068.
1.1
Acknowledgements
The information contained in this publication was gathered from many sources. Portions of the text used to
explain general Fibre Channel concepts were adapted in various forms, with permission, from Ancot Corporation’s Fibre Channel, Volume 1: The Basics written by Gary R. Stephens and Jan V. Dedek. Additional information was contributed by Canadian Valley Vocational-Technical instructor Chuck Chalupa.
1.2
How to use this manual
This publication provides a universal detailed description of the Fibre Channel interface for Seagate disc
drives. You may read it from front-to-back, or turn directly to the sections that interest you the most. A glossary
is provided in the back (see Appendix A) which you may find useful as you read this manual.
Note.
Each Seagate drive family has a product manual which have tables that specify which SCSI features are implemented in each specific drive model, what the default parameters are for the various
features they implement, and which parameters are changeable and which are not.
No method exists at present to inform an initiator if a target supports SCSI-3 features as opposed to only SCSI2 features. A few SCSI-3 features are supported by Seagate drives, but no attempt has been made herein to
differentiate between SCSI-2 and SCSI-3 features. Therefore, when an Inquiry command reports what the
ANSI-approved version of the drive is, it reports SCSI-2, where SCSI-2 means SCSI-2 features plus some
SCSI-3 features.
No attempt is made in this universal specification to specify which descriptions or tables apply to SCSI-2 or
SCSI-3. The combination of this general specification with the details in the individual drive’s product manual,
provides a description of the individual drive implementation of the SCSI interface.
This interface manual is not intended to be a stand-alone publication about Fibre Channel’s features. You
should reference the individual drive’s product manual to determine the specific features supported by each
drive model and the Seagate SCSI Command Reference Manual, part number 100293068 for commandrelated information.
Fibre Channel Interface Manual, Rev. A
1
1.3
General interface description
This manual describes the Seagate Technology LLC Fibre Channel/SCSI (Small Computer Systems Interface)
as implemented on Seagate Fibre Channel (FC) disc drives.
The disc drives covered by this manual are classified as intelligent peripherals.
The interface supports multiple initiators, self-configuring host software, automatic features that relieve the
host from the necessity of knowing the physical architecture of the target (logical block addressing is used),
and some other miscellaneous features.
The physical interface uses differential drivers and receivers for the Fibre Channel serial connections. The single channel transfer rate is 106 MB/second (commonly called 1 gigabit/sec) or 212 MB/second (commonly
called 2 gigabit/sec). See the drive’s product manual for a definition of the electrical characteristics of the interface.
2
Fibre Channel Interface Manual, Rev. A
2.0
Introduction to Fibre Channel
Fibre Channel is an American National Standards Institute (ANSI) interface that acts as a general transport
vehicle to simultaneously deliver the command sets of several existing interface protocols including SCSI-3,
IPI-3, HIPPI-FP, IP, and ATM/AAL5. Proprietary and other command sets may also use and share the Fibre
Channel, but these are not yet defined as part of the Fibre Channel standard.
Fibre Channel Arbitrated Loop (FC-AL) is one topology used to connect two or more devices within the guidelines set by the ANSI standards. This topology is discussed in detail throughout this manual. Other topologies
do exist and are discussed briefly in this manual to give you some idea of how these topologies can coexist
and interact.
2.1
General information
Fibre Channel supports both large and small data transfers. This makes it effective in transferring a wide variety of data and can be used in systems ranging from supercomputers to individual workstations. Fibre Channel
peripherals can include devices such as, but not limited to, disc drives, tape units, high-bandwidth graphics terminals, and laser printers.
To accommodate all of these device types with various command sets, Fibre Channel separates the physical I/
O interface from the I/O operations. This makes it possible to use the multiple command sets simultaneously.
This also allows new speeds and new functions to be added without making all previous investment in existing
components obsolete.
Another benefit of Fibre Channel is that it supports both channel and network peripheral protocols for device
communication. This means that channel and network protocols can share the same physical medium.
Fibre Channel does not have its own native I/O command set protocol. It simply lets other protocols superimpose their command sets onto itself and then transports this information. Fibre Channel has a command set
that it uses to manage the links between the various participating devices using Fibre Channel. Fibre Channel
calls these link level functions “link services.”
Since multiple command sets may use Fibre Channel, it identifies the information by command set type. This
allows the receiving port to distinguish among the protocols and make processing decisions. Each Fibre Channel frame has a field in the frame header to identify the protocol associated with that frame. Additional information about frames is available in Section 6.0 beginning on page 33.
Fibre Channel Interface Manual, Rev. A
3
2.2
Channels vs. networks
As mentioned above, Fibre Channel supports both channel and network communications.
Channels
Traditional disc drive communications occur in a channel environment where the host controls the devices
attached to it. The primary requirement for channel environments is to provide error-free delivery, with transfer
delays being a secondary consideration.
Networks
Networks allow many devices to communicate with each other at will. This is usually accompanied by software
support to route transactions to the correct provider and to verify access permission. Networks are used for
transferring data with “error-free delivery” and voice and video where “delivery on time” is the primary requirement with error-free delivery being a secondary consideration. For example, when transferring video, it is more
important to provide on-time delivery of data to prevent loss of video frames than to lose one or two pixels in a
video frame.
2.3
The advantages of Fibre Channel
In addition to the channel/network support, Fibre Channel:
• Supports multiple physical interface types.
• Provides a means to interconnect physical interface types.
• Provides high-speed data transfer rates much faster than parallel SCSI.
• Separates the logical protocol being transported from the physical interface—this allows multiple protocols
to be transported over a common physical interface.
• Allows increased cable lengths. You can have 30 meters between each device when using twisted pair copper media. Note that this 30 meters is between each device, not the total length (multiply the number of
devices by 30m to obtain total allowable length). Fiber optic media extended this even further by allowing
distances of 10km between each device.
• Increases the potential number of devices connected. Just one private arbitrated loop can have up to 125
devices attached. Even more can be attached in non-participating mode. Also, multiple loops can be
attached to fabrics to significantly increase the number of devices attached.
• Uses asynchronous transmission to fully utilize the available bandwidth.
• Allows flexibility in transfer rates, distances, media types, and protocols.
4
Fibre Channel Interface Manual, Rev. A
3.0
Fibre Channel standards
Figure shows the various documents involved in the ANSI set of standards relating to Fibre Channel. This
model is not static—it is growing as others areas of interest are developed. Fibre Channel standards
Figure 1.
Fibre Channel Standards
The interface is compatible with a subset of the ANSI standards listed below:
• SCSI-2 Standard and the Common Command Set (CCS) document, Revision 4.B
• SCSI Parallel Interface-3 (SPI-3)
• SCSI Enclosure Services (SES) Command Set, X3T10 NCITS, 305-199x
• Fibre Channel Physical and Signaling, Revision 4.3 (FC-PH)
• Fibre Channel Physical and Signaling, Revision 7.4 (FC-PH-2)
• Fibre Channel Physical and Signaling, Revision 9.4 (FC-PH-3)
• SCSI Fibre Channel Protocol, Revision 12 (SCSI-FCP)
• Fibre Channel Arbitrated Loop, Revision 4.5 (FC-AL)
• Fibre Channel Arbitrated Loop Direct Attach SCSI Technical Report
• Fibre Channel Fabric Loop Attach Technical Report
Fibre Channel Interface Manual, Rev. A
5
Copies of ANSI documents relating to Fibre Channel can be purchased from:
Global Engineering
15 Inverness Way East
Englewood, CO 80112-5704
(800) 854-7179 or
(303) 792-2181
Fax: (303) 792-2192
3.1
General information
The FC-PH standard is the foundation upon which all others are based. Each topology, command set, and protocol has its own standard. These are all separate to allow future growth and to allow designers to more easily
use only those parts that affect their products. It is important for system designers to consider the requirements
of the set of protocols to be supported because different protocols require different subsets of the functions
permitted in a Fibre Channel port.
3.1.1
Description of Fibre Channel levels
The Fibre Channel levels are listed below:
• Physical (FC-0)
• 8B/10B encoding/decoding (FC-1)
• FC-AL (FC-1.5)
• Framing protocol (FC-2)
• Common services (FC-3)
• Interface mapping (FC-4)
3.1.1.1
FC-0
FC-0 defines the physical portions of the Fibre Channel. This includes the fibre, connectors, and optical and
electrical parameters for a variety of data rates and physical media. Coax, twinax, and twisted pair versions are
defined for limited distance applications. FC-0 also provides the point-to-point physical portion of the Fibre
Channel.
3.1.1.2
FC-1
FC-1 defines the transmission protocol which includes the serial encoding, decoding, and error control.
3.1.1.3
FC-1.5
FC-1.5 defines the topology involved with Fibre Channel Arbitrated Loop (FC-AL) configurations.
3.1.1.4
FC-2
FC-2 defines the signaling protocol which includes the frame structure and byte sequences.
3.1.1.5
FC-3
FC-3 defines a set of services which are common across multiple ports of a node.
6
Fibre Channel Interface Manual, Rev. A
3.1.1.6
FC-4
FC-4 defines the interface mapping between the lower levels of the Fibre Channel and the various command
sets. These various command sets are known as upper layer protocols (ULPs). Examples of upper layer protocols include SCSI, IPI, HIPPI, and IP.
3.1.2
Relationship between the levels
FC-0, FC-1, and FC-2 are integrated into the FC-PH document. The other documents are separate so that
each implementation may use the technology best suited to the environment in which it will be used.
3.1.3
Topology standards
Each topology has its own standard. This is done so that designers can concentrate on documents that apply
to the technology suited to their specific area of interest.
The following topology standards are available:
• FC-FG (Fibre Channel Fabric Generic)
• FC-SW (Fibre Channel Cross-point switch)
• FC-AL (Fibre Channel Arbitrated Loop)
The FC-FG and FC-AL documents are of the most interest for Seagate disc drive interconnection.
3.1.4
FC Implementation Guide (FC-IG)
FC-IG provides some implementation guidance for all Fibre Channel systems.
3.1.5
Applicable Documents
The following ANSI standards should be referenced for more details about Fibre Channel and SCSI.
• Fibre Channel Protocol for SCSI, Third Version (FCP-3), T10/1560-D
• Fibre Channel Link Services (FC-LSr1.2), T11/1620-D/Rev1.2
• Fibre Channel Framing and Signaling - 2 (FC-FS-2), T11/1619-D
• SFF-8067 Specification for 40-pin SCA-2 Connector w/Bidirectional ESI Rev 3.4
• SCSI Block Commands - 3 (SBC-3), T10/1215-D
• SCSI Primary Commands - 4 (SPC-4), T10/1731-D
• Enclosure Services - 2 (SES-2), T10/1559-D
Fibre Channel Interface Manual, Rev. A
7
8
Fibre Channel Interface Manual, Rev. A
4.0
Introduction to topologies
Topologies include all the elements necessary to successfully connect two or more nodes (also known as
devices). See Section 4.1. There are several topologies available with Fibre Channel, but all of them have certain common components: nodes, ports, and links. These components are discussed in this section.
The ANSI Fibre Channel standard defines three topologies:
1. Arbitrated loop (Fibre Channel Arbitrated Loop, FC-AL)
2. Fabric
3. Point-to-point
Seagate supports arbitrated loop and fabric as the primary topologies for disc drive connections.
Note.
Some brief discussions about items not directly associated with arbitrated loop and fabric topologies are included to make you aware that other topologies exist within the constructs of the ANSI
Fibre Channel standard.
The fabric topology permits dynamic interconnections between nodes through ports connected to a fabric. This
fabric is similar to a switch or router and is often compared to a telephone system because of its redundant
rerouting capabilities. The fabric topology also allows multiple connections simultaneously, unlike FC-AL which
results in a single circuit being established between only two ports at any one particular time. Fabric and arbitrated loop topologies may be combined in one system to provide a wide variety of services and performance
levels to the nodes.
Point-to-point topologies are used only to connect two ports without any routing capabilities.
4.1
Nodes
Fibre Channel devices are called nodes. This is a generic term describing any device (workstation, printer, disc
drive, scanner, etc.) connected to a Fibre Channel topology. Each node has at least one port, called an N_Port
to provide access to other nodes. The “N” in N_Port stands for node. As you will see later, ports used in a Fibre
Channel Arbitrated Loop topology are called NL_Ports where the “NL” stands for node loop.
The components that connect two or more node ports together are what are collectively called a topology.
Nodes work within the provided topology to communicate with all other nodes.
4.2
Ports
Ports are the link to the outside world for a Fibre Channel node. See Figure 2. As stated above, each node has
at least one port to provide access to other nodes. Each Seagate Fibre Channel drive has two ports.
Each port uses a pair of fibers—one to carry information into the port and one to carry information out of the
port. This pair of fibers (actually copper wire) is called a “link” and is part of each topology. The Fibre Channel
ANSI specification also supports fibers made of optical strands as a medium for data transfer.
Fibre Channel Interface Manual, Rev. A
19
As stated above, ports used in a FC-AL topology are called node loop ports (NL_Ports). Other port types exist
as documented in the following table.
Table 1:
Port type
Fibre Channel port types
Location
Associated topology
N_Port
Node
Point-to-point or Fabric
NL_Port
Node
in N_Port mode—Point-to-point or Fabric
in NL_Port mode—Arbitrated Loop
F_Port
Fabric
Fabric
FL_Port
Fabric
in F_Port mode—Fabric
in FL_Port mode—Arbitrated Loop
E_Port
Fabric
Internal Fabric Expansion
G_Port
Fabric
in F_Port mode—Fabric
in E_Port mode—Internal fabric expansion
GL_Port
Fabric
in F_Port mode—Fabric
in FL_Port mode—Arbitrated Loop
in E_Port mode—Internal fabric expansion
NL_Ports and FL_Ports discover their mode of operation dynamically during the initialization procedure.
Note.
You may hear the term “L_Port” when discussing Fibre Channel. This term is often used as a
“catch-all” term meaning NL_Port or FL_Port when it is not important to specifically distinguish
between the two. Therefore, when you read the term L_Port, you should think of NL_Port when the
discussion is about Arbitrated Loop or Point-to-Point topologies, and you should think of FL_Port
when the discussion is about the Fabric topology.
An L_Port discovers its environment and works properly, without outside intervention, with an F_Port, N_Port,
or with other L_Ports.
Arbitrated loops can have up to 126 active NL_Ports, but only one active FL_Port attached to the same arbitrated loop. The NL_Ports discover whether there is a fabric present by discovering whether there is an
FL_Port present. If there isn’t an FL_Port present, the loop is called a private loop. If there is an FL_Port
present, the loop is called a public loop and the FL_Port is considered the manager of the loop.
The most commonly used ports are the NL_Port and FL_Port. With these two types, you can easily migrate
nodes from one topology to another.
Each NL_Port is attached to one link. Information flows in one direction only.
4.3
Links
Each port is comprised of two fibers, one carries information into the port and is called a receiver. The other
carries information out of the port and is appropriately called a transmitter. Fibre Channel supports two types of
fibers—electrical wires (most commonly copper) and optical strands. This pair of wires is called a link. See Figure 2.
Links carry the data frames between nodes. Each link can handle multiple frame types; therefore, frame multiplexing is possible. For example, a frame containing SCSI information may be followed by a frame containing
TCP/IP followed by a frame containing yet another protocol’s information.
20
Fibre Channel Interface Manual, Rev. A
4.4
Arbitrated loop topology
Fibre Channel Arbitrated Loops (FC-AL) attach multiple nodes in a loop without hubs and switches. The node
ports use arbitration to establish a point-to-point circuit. FC-AL is a distributed topology where each L_Port
includes the minimum necessary function to establish the circuit.
The arbitrated loop topology is used to connect from two to 126 node ports. See Figure 2.
Figure 2.
Arbitrated loop topology (dual port private loop)
The ports in an arbitrated loop topology are called NL_Ports (Node Loop Ports). Each of the NL_Ports has an
input and output connection. Seagate Fibre Channel drives support dual ports (specified with a “1” in byte 6, bit
4 of the disc drive inquiry data). The actual ports are located on the host’s backpanel, not on the disc drive.
Dual ports are provided for redundancy so that if one loop fails, the other one can fulfill the loop duties. Each
drive has one FC SCA (single connector attachment) connector.
The arbitrated loop protocol is a token acquisition protocol. This means each port on the same arbitrated loop
sees all messages, but passes all messages that are addressed to other ports.
Fibre Channel Interface Manual, Rev. A
21
4.5
Topology and port login
Each NL_Port must sign in with the other ports on the loop. Each port first attempts to locate an FL_Port. If it
finds an FL_Port, it knows it is a part of a public loop connected to a fabric. If the port does not locate an
FL_Port, it knows it is a part of a private loop with other NL_Ports only.
There can be up to 126 active NL_Ports and up to one active FL_Port attached to the same arbitrated loop. If
an NL_Port does not attempt to discover an FL_Port and there is an FL_Port present, the NL_Port is only
allowed to access other NL_Ports on the same loop.
4.6
Port bypass circuits
So far, we’ve discussed links, ports, nodes, and topology logins. All’s fine with this model as long as the loop is
intact. What happens, then, if a device is disconnected from the loop. Doesn’t this break the loop? The answer
is no. Fibre Channel provides port bypass circuitry which bypasses the drive if it is removed, incapable of providing loop services, unable to obtain a valid address, or otherwise incapable of providing loop services. These
port bypass circuits (PBCs) are located external to the drive or other FC-AL device. Figure 3 shows the relationship between the PBC and drive.
Figure 3.
22
Port bypass circuit physical interconnect
Fibre Channel Interface Manual, Rev. A
5.0
Data encoding (FC-1)
Fibre Channel devices don’t transmit 8-bit bytes. If this were to occur, the receiving node would not understand
the transmitter’s intentions. To fix this situation, the data is encoded prior to transmission. Encoding allows the
creation of special transmission code characters with unique bit patterns for data management and word alignment so the receiving node will know what to do with the bytes. Encoding also improves the transmission characteristics across a fibre and increases the likelihood of detecting errors.
5.1
Encoding and decoding
An unencoded data byte is represented in FC-1 as HGFEDCBA where H is the most significant bit. The hex to
FC-1 decimal value translation is accomplished as shown below:
Figure 4.
Decimal value translation
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 convention is D00.0 through D31.7.
FC serial transmission delivers 10-bit characters which represent encoded data. Of the 1,024 characters possible with the 10-bit space, 256 8-bit byte data characters are mapped, along with 1 control character. This mapping process is called 8B/10B encoding. This encoding method involves selecting encoded 10-bit characters to
maintain a run-length-limited serial stream of bits. To prevent too many ones or zeros on the serial interface
from causing a DC electrical shift of the serial media, the encoder monitors the number of ones in the encoded
character and selects the option of the 10-bit encode character that will shift to balance the total number of
zeros and ones. This balancing is called running disparity.
A 10-bit character is actually made up of 6- and 4-bit sub-blocks. The 6-bit sub-block shifts out first followed by
the 4-bit sub-block. Running disparity is set positive at the end of the sub-block as follows:
Fibre Channel Interface Manual, Rev. A
23
• If the number of ones in a sub-block is greater that the number of zeros, the 6-bit sub-block is 000111b, or
the 4-bit sub-block is 0011b. Running disparity is set positive at the end of the sub-block.
• If the number of zeros in a sub-block is greater than the number of ones, the 6-bit sub-block is 111000b, or
the 4-bit sub-block is 1100b. Running disparity is set negative at the end of the sub-block.
• If the number of ones and zeros in a sub-block are equal, running disparity is neutral and the value of running disparity at the end of the sub-block remains the same as the preceding character even if it is separated
by neutral characters.
Note.
The rules of running disparity prohibit consecutive positive or consecutive negative characters even
if they are separated by neutral disparity characters. In other words, the negative and positive disparity characters must alternate, even if separated by a neutral disparity character. See Table 2.
Table 2:
Running disparity examples
Sub-blocks
Valid?
1
2
3
4
5
+
N
–
+
–
+
N
+
+
+
No
–
–
No
5.2
Yes
No
Buffer-to-buffer data transfers
Fibre Channel devices transfer information from an output buffer in the transmitting node to an input buffer of
the receiving node. This is called a buffer-to-buffer transfer. Each node may have from 1 to n buffers. The number of buffers in each node does not have to be equal. Each buffer is the size a frame may transfer in its payload. The Fibre Channel standard does not define the actual length of the buffer or the method used to store
the bytes in the buffer. Figure 5 shows how data is sent from the transmit buffer and received by the receive
buffer.
Figure 5.
Serialization process
The bytes being transmitted are sent in increasing displacement.1
The basic unit of transfer for the contents of a buffer-to-buffer data transfer is the frame.
1.This means that if byte 0 is sent first, bytes 1, 2, 3, and 4 are then transmitted in that order. If byte 100 is sent first, bytes
101, 102, 103, and 104 are then transmitted in that order.
24
Fibre Channel Interface Manual, Rev. A
5.3
Data hierarchy
A hierarchy of data types is presented in Figure 6.
Figure 6.
FC data hierarchy
5.3.1
Transmission words
Transmission words are the lowest level of control on Fibre Channel other than the control character used to
provide character synchronization.
A transmission word is defined as four contiguous 8B/10B encoded transmission characters (10 bits each)
treated as a unit. This unit is 40 bits in length (4 characters x 10 bits each) and is the smallest unit of transmission in Fibre Channel.
5.3.1.1
Data characters
A data character is a 8B/10B encoded transmission character with a data byte equated by the transmission
code as one of the 256 possible data characters.
5.3.1.2
Special characters
The 8B/10B encoding scheme allows for all 256 data byte values, plus several others that can be used for special signaling. These other values are called special characters. Special characters include any transmission
character considered valid by the transmission code but not equated to a valid data byte.
5.4
Ordered sets
An ordered set is a four-character combination of data and special transmissions characters. There are three
primary categories of ordered sets:
• Primitive signals
• Primitive sequences
• Frame delimiters
The K28.5 special character is the first character of all ordered sets.
5.4.1
Primitive signals
Primitive signals are ordered sets that perform a control function. Primitive signals are recognized when one
ordered set is detected. Table 3 lists the defined primitive signals. There must be a minimum of six primitive
signals (Idles and R_RDYs) at the N_Port transmitter between frames to properly maintain clock skew.
Fibre Channel Interface Manual, Rev. A
25
Table 3:
Primitive signals
Primitive signal
Beginning
running
disparity
Signal
Ordered set (FC-1)
Ordered set (hex)
Idle
IDLE
Negative
K28.5 D21.4 D21.5 D21.5
BC 95 B5 B5
Receiver_Ready
R_RDY
Negative
K28.5 D21.4 D10.2 D10.2
BC 95 4A 4A
Idle (IDLE)
An Idle is transmitted on the loop to indicate the node is operational and ready for frame transmission and
reception. Idles are transmitted when frames, R_RDY, or primitive sequences are not being transmitted. This
maintains word synchronization and minimum spacing between frames.
Receiver ready (R_RDY)
R_RDY indicates that a frame was received and that the interface buffer that received the frame is ready for
another frame. R_RDY is preceded and followed by a minimum of two Idles. R_RDY establishes buffer-tobuffer credit during data transmissions between an initiator and target.
5.4.1.1
Primitive signals used as frame delimiters
Primitive signals can also be frame delimiters. A frame is an indivisible information unit that may contain data to
record on disc or control information such as a SCSI command.
Note.
All ordered sets (except for the End-of-frame delimiter, EOF) require the running disparity from the
previous word to be negative. The second character of an ordered set (except EOF) will be positive
and the third and fourth characters are neutral.
Frame delimiters mark the beginning and end of frames. There are several frame delimiters available in Fibre
Channel. There are nine Start-of-frame (SOF) delimiters and six End-of-frame (EOF) delimiters as listed in
Table 4.
Start-of-frame (SOF) delimiters:
• mark the beginning of a frame,
• indicate whether this is the first frame of the sequence, and
• indicate the class of service for the frame.
End-of-frame (EOF) delimiters:
• mark the end of a frame, and
• indicate whether this frame is the last frame of the sequence.
The second character of EOF delimiters differentiates between normal and invalid frames. The EOF delimiter
also ensures that negative running disparity results after processing the set by assigning the appropriate second character.
The third and fourth characters of the delimiter functions (SOF and EOF) are repeated to ensure that an error
affecting a single character will not result in the recognition of an ordered set other than the one transmitted.
See Table 4 below.
26
Fibre Channel Interface Manual, Rev. A
Seagate disc drives use only those listed in bold type (Seagate Fibre Channel disc drives are Class 3 devices
and use only Class 3 delimiters).
Table 4:
Frame delimiters
Delimiter function
Delimiter
Beginning
running
disparity
SOF Connect Class 1
SOFc1
Negative
K28.5 D21.5 D23.0 D23.0
BC B5 17 17
SOF Initiate Class 1
SOFi1
Negative
K28.5 D21.5 D23.2 D23.2
BC B5 57 57
SOF Normal Class 1
SOFn1
Negative
K28.5 D21.5 D23.1 D23.1
BC B5 37 37
SOF Initiate Class 2
SOFi2
Negative
K28.5 D21.5 D21.2 D21.2
BC B5 55 55
SOF Normal Class 2
SOFn2
Negative
K28.5 D21.5 D21.1 D21.1
BC B5 35 35
SOF Initiate Class 3
SOFi3
Negative
K28.5 D21.5 D22.2 D22.2
BC B5 56 56
SOF Normal Class 3
SOFn3
Negative
K28.5 D21.5 D22.1 D22.1
BC B5 36 36
SOF Initialize Loop
SOFil
Negative
K28.5 D21.5 D22.2 D22.2
BC B5 56 56
SOF Activate Class 4
SOFc4
Negative
K28.5 D21.5 D25.0 D25.0
BC B5 19 19
SOF Initiate Class 4
SOFi4
Negative
K28.5 D21.5 D25.2 D25.2
BC B5 59 59
SOF Normal Class 4
SOFn4
Negative
K28.5 D21.5 D25.1 D25.1
BC B5 39 39
SOF Fabric
SOFf
Negative
K28.5 D21.5 D24.2 D24.2
BC B5 58 58
EOF Terminate
EOFt
Negative
Positive
K28.5 D21.4 D21.3 D21.3
K28.5 D21.5 D21.3 D21.3
BC 95 75 75
BC B5 75 75
EOF DisconnectTerminate
EOFdt
Negative
Positive
K28.5 D21.4 D21.4 D21.4
K28.5 D21.5 D21.4 D21.4
BC 95 95 95
BC B5 95 95
EOF Abort
EOFa
Negative
Positive
K28.5 D21.4 D21.7 D21.7
K28.5 D21.5 D21.7 D21.7
BC 95 F5 F5
BC B5 F5 F5
EOF Normal
EOFn
Negative
Positive
K28.5 D21.4 D21.6 D21.6
K28.5 D21.5 D21.6 D21.6
BC 95 D5 D5
BC B5 D5 D5
EOF DisconnectTerminate-Invalid
EOFdti
Negative
Positive
K28.5 D10.4 D21.4 D21.4
K28.5 D10.5 D21.4 D21.4
BC 8A 95 95
BC AA 95 95
EOF Normal-Invalid
EOFni
Negative
Positive
K28.5 D10.4 D21.6 D21.6
K28.5 D10.5 D21.6 D21.6
BC 8A D5 D5
BC AA D5 D5
Ordered set (FC-1)
Ordered set (hex)
Notes.
1. EOF primitives come in two forms—one is used when the beginning running disparity is positive and the
other is used if the beginning running disparity is negative. Regardless of which form is used, each EOF
delimiter is defined so that negative current running disparity results after processing the final (rightmost)
character of the ordered set.
2. Ordered sets associated with SOF delimiters, primitive signals, and primitive sequences are always transmitted with negative beginning running disparity. As a result, primitive signals, primitive sequences, and
SOF delimiters are only defined for the negative beginning running disparity case.
3. Frames that end with any other EOF type are discarded by the drive.
Fibre Channel Interface Manual, Rev. A
27
Start-of-frame Initiate Class 3 (SOFi3)
SOFi3 indicates the beginning of the first frame of a sequence of frames (an exchange). (This includes all single frame sequences, commands, link services, transfer readys, and response frames.) SOFi3 is also used in
the first data frame of a sequence.
Start-of-frame Normal Class 3 (SOFn3)
SOFn3 indicates the beginning of any frame other than the first frame of an exchange (see SOFi3 above).
Start-of-frame Initialize Loop (SOFil)
SOFil is the same as SOFi3, but is renamed for use in Loop Initialization to remove the class of service distinction from the initialization process.
End-of-frame Normal (EOFn)
EOFn indicates the end of any frame other than the last frame of an exchange or sequence.
End-of-frame Terminate (EOFt)
EOFt marks the end of the last frame of all sequences. It can also indicate the end of the last frame of an
exchange. For example, the single frame sequences, commands, link services, transfer readys, and response
frames.
5.4.1.2
Primitive signals custom made for arbitrated loop topologies
There are eight primitive signals used exclusively within arbitrated loop (FC-AL) topologies. These primitives
are listed in Table 5 and defined in text following the table.
Table 5:
FC-AL primitive signals
FC-AL primitive signal
Signal
Beginning
running
disparity
Arbitrate
ARBx
Negative
K28.5 D20.4 AL_PA AL_PA
BC 94 AL_PA AL_PA
Arbitrate (F0)
ARB(F0)
Negative
K28.5 D20.4 D16.7
BC 94 F0 F0
Open full-duplex
OPNyx
Negative
K28.5 D17.4 AL_PD AL_PS
BC 91 AL_PD AL_PS
Open half-duplex
OPNyy
Negative
K28.5 D17.4 AL_PD AL_PD
BC 91 AL_PD AL_PD
Open broadcast replicate
OPNfr
Negative
K28.5 D17.4 D31.7
BC 91 FF FF
Open selective replicate
OPNyr
Negative
K28.5 D17.4 AL_PD D31.7
BC 91 AL_PD FF
Close
CLS
Negative
K28.5 D5.4
D21.5
D21.5
BC 85 B5 B5
Dynamic Half Duplex
DHD
Negative
K28.5 D10.4 D21.5
D21.5
BC 8A B5 B5
Mark
MRKtx
Negative
K28.5 D31.2 MK_TP AL_PS
Ordered set (FC-1)
Ordered set (hex)
D16.7
D31.7
BC 5F MK_TP AL_PS
Arbitrate (ARBx)
ARBx is transmitted to request access to the loop. Each ARBx contains the Physical (port) Address (AL_PA) of
the requestor.
Arbitrate (ARB(F0))
ARB(F0) is transmitted to manage access fairness (see Section 8.3.1). It is also used to assign a loop master
during initialization.
28
Fibre Channel Interface Manual, Rev. A
Open full-duplex (OPNyx)
After successful arbitration, the transmitting port (x) opens the receiving port (y) for control and data frame
transmission and reception. Any FC port can transmit or receive an OPN.
Open half-duplex (OPNyy)
After successful arbitration, the initiator opens the target (y) for control and data frame transmission and reception of control frames. Data frame transmission from the target is not allowed.
Open broadcast replicate (OPNfr)—Not supported by Seagate drives
OPNfr is used by the open port to communicate with all ports in the loop. When received by the targets (the
opened ports), they are not allowed to generate any transmission words (except fill words). They must replicate
and retransmit all received words until a CLS is detected. Both ‘ f ’ and ‘ r ’ are FFh (D31.7 in FC-1 transmission code).
Open selective replicate (OPNyr)—Not supported by Seagate drives
Similar to OPNfr (see definition above), with the exception that the initiator can communicate with a subset of
the targets on the loop. The target at AL_PA ‘ y ’ is a member of the subset.
Close (CLS)
Close indicates that the CLS originator is prepared to or has ended the current loop circuit.
Dynamic Half Duplex (DHD)
DHD indicates the open L_Port is relinquishing control of when the current loop circuit is closed. Support of
DHD is discovered during Port Login.
Mark (MRKtx)—Not supported by Seagate drives
Mark may be used for synchronization within the loop (for example, spindle sync in a RAID application). The
third character of the ordered set ‘ t ’ (MK_TP) is a vendor-unique sync code. Seagate drives pass through this
primitive signal without responding to it.
Fibre Channel Interface Manual, Rev. A
29
5.4.2
Primitive sequences
Primitive sequences are ordered sets that perform control functions. These primitive sequences are listed in
Table 6. Primitive sequences differ from primitive signals in the requirement for detection. Primitive sequences
must have at least three consecutive ordered sets to be detected. Primitive sequences are transmitted repeatedly.
All of these primitive sequences are defined in Fibre Channel, but are not recognized by the drive. The Loop
Initialization Primitive (LIP) sequence is used in arbitrated loop configurations to reset all attached ports to a
known state. Refer to Section 8.2 on page 48 for additional information about LIPs.
Table 6:
Primitive sequences
Primitive sequences
Sequence
Beginning
running
disparity
Ordered set (FC-1)
Ordered set (hex)
Offline
OLS
Negative
K28.5 D21.1 D10.4 D21.2
BC 35 8A 55
Not_Operational
NOS
Negative
K28.5 D21.2 D31.5 D5.2
BC 55 BF 45
Link_Reset
LR
Negative
K28.5 D9.2
D31.5 D9.2
BC 49 BF 49
Link_Reset_Response
LRR
Negative
K28.5 D21.1 D31.5 D9.2
BC 35 BF 49
Offline (OLS)
Offline is transmitted to indicate that the port is initiating the initialization protocol prior to going offline. The
sequence will be transmitted for a minimum of 5 msec before further action is taken.
Not_Operational (NOS)
Not_Operational is transmitted to indicate that the port has detected a loop failure or is offline.
Link_Reset (LR)
Link_Reset is transmitted by a port to initiate the Link Reset protocol following a Link Timeout. This brings the
port back to a stable synchronized state.
Link_Reset_Response (LRR)
Link_Reset_Response is transmitted to indicate that the port is receiving and recognizes the Link_Reset (LR)
primitive sequence.
30
Fibre Channel Interface Manual, Rev. A
5.4.2.1
Primitive sequences custom made for Arbitrated Loop topologies
There are eight primitive sequences used exclusively within arbitrated loop (FC-AL) topologies. These primitives are listed in Table 7 and defined in text following the table.
Table 7:
FC-AL primitive sequences
Sequence
Beginning
running
disparity
Loop initialization,
no valid AL_PA
LIP
Negative
K28.5 D21.0 D23.7 D23.7
BC 15 F7 F7
Loop initialization,
loop failure, no valid AL_PA
LIP
Negative
K28.5 D21.0 D24.7 D23.7
BC 15 F8 F7
Loop initialization,
valid AL_PA
LIP
Negative
K28.5 D21.0 D23.7 AL_PS
BC 15 F7 AL_PS
Loop initialization,
loop failure, valid AL_PA
LIP
Negative
K28.5 D21.0 D24.7 AL_PS
BC 15 F8 AL_PS
Loop initialization reset
LIP
Negative
K28.5 D21.0 AL_PD AL_PS
BC 15 AL_PD AL_PS
Loop initialization reset all
LIP
Negative
K28.5 D21.0 D31.7 AL_PS
BC 15 FF AL_PS
Loop port enable
LPEyx
Negative
K28.5 D5.0 AL_PD AL_PS
BC 05 AL_PD AL_PS
Loop port enable all
LPEfx
Negative
K28.5 D5.0 D31.7 AL_PS
BC 05 FF AL_PS
Loop port bypass
LPByx
Negative
K28.5 D9.0 AL_PD AL_PS
BC 09 AL_PD AL_PS
Loop port bypass all
LPBfx
Negative
K28.5 D9.0 D31.7 AL_PS
BC 09 FF AL_PS
FC-AL primitive sequence
Note.
Ordered set (FC-1)
Ordered set (hex)
There are six sequences that invoke loop initialization. There is no operational difference between
them except that bytes 3 and 4 identify the reason for the loop initialization.
Loop initialization, no valid AL_PA (LIP)
The L_Port is attempting to acquire an AL_PA.
Loop initialization, loop failure, no valid AL_PA (LIP)
The transmitting L_Port detects a loop failure at its receiver. Since it has not completed initialization, it uses ‘F7’
(D23.7) rather than a valid AL_PA.
Loop initialization, valid AL_PA (LIP)
The L_Port is attempting to reinitialize the loop to a known state after recognizing a problem (performance degradation).
Loop initialization, loop failure, valid AL_PA (LIP)
The transmitting L_Port detects a loop failure at its receiver.
Loop initialization reset (LIP)
If the rightmost two bytes consist of a valid destination and source address, the source is requesting the target
to perform a device reset.
Loop initialization reset all (LIP)
If byte 3 is FFh and byte 4 is a valid source address, the source is requesting all receiving targets to perform a
device reset.
Fibre Channel Interface Manual, Rev. A
31
Loop port enable (LPEyx)
LPEyx resets the bypass circuit and enables a previously-bypassed L_Port.
Loop port enable all (LPEfx)
LPEfx resets the bypass circuits on all L_Ports on the loop.
Loop port bypass (LPByx)
LPByx activates the port bypass circuit and prevents the L_Port from actively participating on the loop.
Loop port bypass all (LPBfx)
LPBfx activates the port bypass circuit for all L_Ports on the loop with bypass circuits except for the source of
the LPBfx.
32
Fibre Channel Interface Manual, Rev. A
6.0
Framing protocol (FC-2)
The entire responsibility of moving frames between N_Ports is assigned to the Fibre Channel layer called the
framing protocol (FC-2). This protocol is primarily concerned with constructing and managing frames,
sequences, and exchanges.
6.1
Frames
Frames transfer all information between nodes. The frames are normally constructed by the transmitting
node’s N_Port. A frame is the smallest unit of information transfer across a link. A sequence is one or more
frames. An exchange is one or more sequences. See Figure 7 below.
It is possible, but not common, for a sequence to have only one frame and for an exchange to have only one
sequence. Again, this isn’t common, but possible. Most sequences have more than one frame, and most
exchanges have more than one sequence.
Figure 7.
Relationship between frames, sequences, and exchanges
6.1.1
Frame structure
A frame is a string of transmission words containing data bytes. Every frame is prefixed by a start-of-field
(SOF) delimiter and suffixed by an end-of-field (EOF) delimiter. There are never any primitive signals or primitive sequences in a frame.
All frames also have a header and a Cyclic Redundancy Check (CRC) field. The payload data field is optional
(but normally present) with the size and contents determined by the type of frame.
Bytes
4
0 or more
24
Fill
SOF Extended_Header(s) Frame _Header
Words
Transmission
Words
Figure 8.
1
0 to n
6
0 to 2112
4
Data_Field
Fill
CRC EOF
Bytes
0 to 528
1
4
1
Frame structure
Fibre Channel Interface Manual, Rev. A
33
6.1.1.1
Start-of-frame (SOF) delimiter
Start-of-frame (SOF) delimiters signal the beginning of a frame. See “Frame delimiters” on page 27. This referenced page contains a list of the various types of SOF delimiters.
6.1.1.2
Frame header
The frame header is 24 bytes long and is present in all frames. It is used to control link operation, control
device protocol transfers, and to detect missing frames or frames that are out of order
Table 8:
Word
Frame Header
Bit
Byte
3
7
6
5
4
3
2
1
0
R_CTL
2
0
1
D_ID
0
3
Reserved
2
1
1
S_ID
0
3
TYPE
2
2
1
F_CTL
0
3
3
SEQ_ID
2
DF_CTL
1
0
SEQ_CNT
3
2
4
OX_ID
1
0
RX_ID
3
2
5
1
Parameter
0
34
Fibre Channel Interface Manual, Rev. A
R_CTL (Routing Control)
This one-byte field provides routing bits and information bits to categorize the frame function.
The high order bits (bits 31-28) indicate the frame type as indicated below:
0000
=
FC-4 Device_Data frame
0010
=
Extended Link_Data frame
0011
=
FC-4 Link_Data frame
0100
=
Video_Data frame
1000
=
Basic Link_Data frame
1100
=
Link_Control frame
Others
=
Reserved
Fibre Channel Interface Manual, Rev. A
35
The low order bits (bits 27-24) contain the Information field values. This is dependent on the value of the high order bits (3128). If the high order bit value = 1000, the Information field contains a basic link service. For all other high order bit values,
the Information field specifies the Common Information Categories specified in the table below.
Table 9:
Routing Control values
High order bits
Low order bits
Use
Type 08h, SCSI FCP, Device Data frames
0000
0000
Uncategorized
Not supported
0001
Solicited Data
Read and write data
0010
Unsolicited Control
Not supported
0011
Solicited control
Not supported
0100
Unsolicited data
Not supported
0101
Data descriptor
Transfer ready
0110
Unsolicited command
Command
0111
Command status
Response
Type 01h, Extended link service
0010
0000
Uncategorized
Not supported
0001
Solicited data
Not supported
0010
Unsolicited control
Request
0011
Solicited control
Reply
0100
Unsolicited data
Not supported
0101
Data descriptor
Not supported
0110
Unsolicited command
Not supported
0111
Command status
Not supported
0000
No operation
Not supported
0001
Abort sequence (ABTS)
Request
0010
Remove connection
Not supported
0011
Reserved
Not supported
0100
Basic_Accept (BA_ACC)
Reply
0101
Basic_Reject (BA_RJT)
Reply
01100111
Reserved
Not supported
Type 00h, Basic link service
1000
D_ID (Destination Identifier)
The 3-byte N_Port address to which the frame is being sent.
S_ID (Source Identifier)
The 3-byte address of the N_Port or F_Port originating the frame.
36
Fibre Channel Interface Manual, Rev. A
Type (Data Structure Type)
This 1-byte field identifies the protocol of the frame contents as described below:
Table 10:
Data type codes
R_CTL
(4 highest order bits)
Type code
Description
1000
00
Basic Link Service
0010
01
Extended Link Service
0000
08
SCSI FCP
Fibre Channel Interface Manual, Rev. A
37
F_CTL (Frame Control)F_CTL (Frame Control)
This 3-byte (24-bit) field contains control information relating to the frame content as defined below.
Table 11:
Frame Control (F_CTL) bit definitions
Bit
Definition
Description
23
Exchange context
0 = Frame is from the exchange originator.
1 = Frame is from the exchange responder.
22
Sequence context
0 = Initiator
1 = Recipient
21
First sequence
0 = Not the first sequence of the exchange.
1 = First sequence of the exchange.
20
Last sequence
0 = Not the last sequence of the exchange.
1 = Last sequence of the exchange.
19
End of sequence
0 = Not the last frame of the sequence.
1 = Last frame of the sequence.
18
End connection
Not supported.
17
Chained sequence
Not supported.
16
Sequence initiative
0 = Hold sequence initiative.
1 = Transfer sequence initiative.
15
X_ID reassigned
Not supported.
14
Invalid X_ID
Not supported.
13
12
11
10
Reserved
9
Retransmitted
sequence
Not supported.
8
Unidirectional
transmit
Not supported.
7
6
Continue sequence
condition
Not supported.
5
4
Abort sequence
condition
Not supported.
3
Relative offset
present
0 = Parameter field not meaningful.
1 = Parameter field equals relative offset.
2
Reserved
1
0
Fill data bytes
End of data field fill bytes
00 = 0 bytes of fill.
01 = 1 byte of fill (last byte of data field).
02 = 2 bytes of fill (last 2 bytes of data field).
03 = 3 bytes of fill (last 3 bytes of data field).
SEQ_ID (Sequence Identifier)
This field uniquely identifies frames in a non-streamed sequence or when only one sequence is open.
38
Fibre Channel Interface Manual, Rev. A
DF_CTL (Data Field Control)
Specifies the presence of optional headers in the payload of the frame. The drive does not support optional headers.
00h
The drive sets this field to 00h for all frames it originates (sends), and should also be 00h for all frames sent to the
drive.
SEQ_CNT (Sequence Count)
This 2-byte field identifies the sequential order of frames within a sequence or multiple sequences of the same exchange.
The SEQ_CNT value for each frame of a sequence has to be unique. The field range limits the number of frames per
sequence to a maximum of 65,536.
For SCSI FCP write data transfers that require more than one sequence to transfer the data, the first frame of each
sequence starts with a SEQ_CNT of 0000h. The transfer of sequence initiative between write data sequences and the
XFR_RDY sent by the drive give the sequence originator (the SCSI Initiator) verification that the previous sequence is
closed.
For SCSI FCP read data transfers that require more than one sequence to transfer the data, the SEQ_CNT does not reset
to 0000h for each new sequence. The SEQ_CNT increments sequentially across the sequence boundaries. The
SEQ_CNT is still allowed to increment through all 65,536 possible values for each sequence. This is required as there is no
verification in Class 3 that all the frames of previous sequences have been delivered.
OX_ID (Originator Exchange Identifier)
This 2-byte field is assigned by the originator of an exchange. For SCSI FCP frames, this value is analogous to the Queue
Tag used in Parallel SCSI and must be unique for an initiator/drive pair.
RX_ID (Responder Exchange Identifier)
This 2-byte identifier is a unique identifier generated by the responder for an exchange established by an originator and
identified by an OX_ID.
With Class 3 devices such as this drive, the responder of the exchange assigns a unique value for RX_ID other than FFFFh
if RX_ID is being used in an ACK to a data frame in the first sequence transmitted as a sequence initiator.
The drive returns FFFFh in this field to indicate the RX_ID is not being used.
Parameter
This 4-byte field is used in data frames to define the relative offset (displacement) of the first byte of the payload from the
base address of the command. When the relative offset is present, bit 3 of F_CTL is set to indicate that relative offset is
valid. The drive uses the SEQ_CNT value to verify that frames are being received in order. The drive does not use relative
offset in frames it receives. The drive sends relative offset information in data frames it originates.
6.1.1.3
Data field (payload)
The data field, also known as the payload, is aligned on word boundaries. The payload length must be an integer multiple of four bytes and is limited to 2,112 bytes. If the data field is not an integer multiple of four bytes,
valid fill bytes are inserted to meet the requirement. F_CTL bits 0 and 1 indicate how many fill bytes are used.
Fill bytes are only permitted in the last frame of a sequence. These fill bytes can be any valid byte value.
The contents of the frame payload is specified by the type of frame. Refer to Section 9.0 for link service information.
6.1.1.4
CRC field
The Cyclic Redundancy Check (CRC) is a 4-byte field that follows the payload field. The CRC is used to verify
the integrity of the frame header and payload fields. This helps detect errors in a frame. The SOF and EOF
frame delimiters are not included in the CRC calculation.
The algorithm used to calculate the CRC field value is the same as that used in the Fiber Distributed Data
Interface (FDDI) standard. The polynomial for the CRC is:
x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Fibre Channel Interface Manual, Rev. A
39
6.1.1.5
End-of-frame (EOF) delimiter
End-of-frame (EOF) delimiters signal the end of a frame. See “Frame delimiters” on page 27. This page contains a list of the various types of EOF delimiters.
6.1.2
Frame Field Order
The frame content shall be transmitted sequentially following the SOF delimiter as an ordered byte stream
within the definition of the frame as specified in figure 11, table 12, and figure 16 until the EOF delimiter is
transmitted.
Table 12 relates the frame format to the ordered byte stream transferred from the Upper Level Protocol (or FC4) and transmitted onto a link.
A frame shall be transmitted in the following byte order:
A0, A1, A2, A3, B0, B1, B2, B3, B4... B32, B33, B34, B35, C0, C1, C2, C3.
Table 12:
Frame Byte Order
Bits 31
Word
SOF
0
..
24 23
K28.5
A0
3
B1
00
B3
S_ID
B5
B6
B7
F_CTL
B8
B9
SEQ_ID
DF_CTL
B12
B13
B10
B11
SEQ_CNT
B13
OX_ID
B13
RX_ID
B13
5
B13
B13
B13
B13
B13
B13
B13
B13
Parameter
B13
B13
6
Data Field
B13
B13
7
Data Field
B13
B13
n-1
EOF
..
Dxx.x
A3
B2
TYPE
B13
08 07
D_ID
CS_CTL/
Priority
4
..
Dxx.x
A2
R_CTL
B4
2
16 15
Dxx.x
A1
B0
1
..
CRC
B13
B13
B13
B13
K28.5
C0
Dxx.x
C1
Dxx.x
C2
Dxx.x
C3
If there is one byte of fill and no ESP_Trailer (see 11.2) in the Data Field of this frame, the fill byte is B31. With
no optional header present, the relative offset (Parameter Field) shall be specified as follows:
40
Fibre Channel Interface Manual, Rev. A
a) relative offset + 0 specifies B24;
b) relative offset + 3 specifies B27; and
c) relative offset + 4 specifies B28.
For a relative offset of decimal 1024 (00 00 04 00h) the Parameter Field shall be specified as: B20, B21, B22,
B23 = 00 00 04 00h
6.2
Frame sequences
Since the data field has a maximum length of 2,112 bytes (528 transmission words), larger amounts of data
must be split into several frames.
Frame sequences always contain at least one frame. The frame header subfields in the F_CTL field are used
to identify the beginning, middle, and end of a frame sequence. The SEQ_ID and SEQ_CNT fields are used to
identify the order of the frames for reassembly in the event they arrive out of order at the destination when participating in a fabric topology.
The OX_ID and RX_ID fields identify the larger context (the exchange) of which this frame sequence is a part.
The frame sequence itself may be part of an exchange and is identified by the SEQ_ID field in the frame
header. The R_CTL field of the frame header identifies the category of information in all the frames of the
sequence. All of the frames within the same sequence are required to have the same category.
6.3
Exchanges
Exchanges are an additional layer that controls operations across Fibre Channel. An exchange provides a control environment for the transfer of information between two N_Ports. You can think of exchanges as an operating system that controls communications between nodes when two or more sequences are required to transmit
data or commands. Exchanges even keep track of operations that occur in opposite directions (sender to
receiver and receiver to sender). Here’s a short explanation of how this occurs:
One of the N_Ports establishes an exchange by sending a sequence to the other N_Port with at least one
frame in it. The originator names its resources using the OX_ID field in the frame header of each frame of the
exchange.
The responder of the exchange also allocates resources after it receives the first frame of the first sequence. It
names its resources using the RX_ID field.
Fibre Channel Interface Manual, Rev. A
41
These two independent fields (OX_ID and RX_ID) allow each N_Port to identify the resources needed to manage a frame or sequence as it arrives. Each N_Port involved with the exchange can use a link service request
to view the contents of the control information in the other port in the exchange; however, no other N_Ports are
allowed to request information for the exchange since they are not involved with that particular exchange.
Figure 9.
FC–SCSI exchanges, command and response transfers
6.4
Credit
The framing protocol must be concerned about how many frames one source N_Port can send to another without overflowing the buffers in the receiving N_Port. To address this problem, there are two types of credit:
1. Buffer-to-buffer credit (BB_Credit). This type of credit is associated only with the immediate fiber exiting the
transmitter to the next receiver (F_Port or N_Port). This credit is managed by the R_RDY primitive signal
on a link.
2. End-to-end credit (EE_Credit). This type of credit is negotiated between a source N_Port and a destination
N_Port. This credit is managed using an acknowledgment (ACK) frame sent from the destination back to
the source N_Port. This type of credit is not used in Class 3 therefore it is not applicable to Seagate drives.
42
Fibre Channel Interface Manual, Rev. A
7.0
Classes of service (FC-2)
There are five classes of service currently available or being defined. Classes of service are simply different
communication methods used between nodes. Seagate drives use only Class 3; however, brief explanations of
the other classes are provided as well.
7.1
Class 1
Class 1 is like a direct face-to-face meeting with no interruptions or delays. It is a dedicated full-bandwidth connection between two nodes.
Other Class 1 attributes
• Guaranteed delivery
• Frames are received in the order they are transmitted
• Usually uses the least overall bandwidth
• Very little software interaction
7.2
Class 2
Class 2 is like an electronic mail transaction where each message has an acknowledgment message sent from
the receiver to signal that the message was received successfully. This class of service allows one N_Port to
transmit consecutive frames to multiple destinations without establishing a dedicated connection with any specific N_Port and also allows one N_Port to receive consecutive frames from one or more N_Ports without having established dedicated connections with any of them.
Other Class 2 attributes
• Confirmed delivery (the receiver sends an acknowledgment on receipt)
• Frames are not always guaranteed to be received in the order they are transmitted
• Can potentially use more bandwidth than Class 1 and latency may increase by waiting for acknowledgments
7.3
Class 3
Class 3 service multiplexes frames at frame boundaries to or from one or more N_Ports without acknowledgment of receipt.
Seagate drives use Class 3 exclusively. Class 3 reduces the complexity of the ports and provides better performance for disc applications.
Other Class 3 attributes
• Full duplex transfers may be used between two ports using Class 3; however, Class 3 operation does not
require half duplex operation.
• Acknowledge (ACK) buffer not required (no waiting for ACKs)
• EE_Credit not required
Fibre Channel Interface Manual, Rev. A
43
• Busy and Reject not needed due to alternate credit model
• Errors are recovered at the exchange level
7.3.1
Class 3 flow control
Class 3 flow control is a simple model which does not require EE_Credits. With Class 3, there is only buffer-tobuffer flow control in one direction and there are no link level responses to Class 3 frames.
7.4
Classes 4 and 5
Classes 4 and 5 are being defined by Fibre Channel committees to aid audio and video applications.
Class 4 is similar to Class 1 in that a dedicated connection is established; however, with Class 4, the full bandwidth is not available. Connections for other nodes connected may be assigned portions of the bandwidth.
Class 5 provides isochronous service through a fabric. A Class 5 node is guaranteed access through a fabric
at established time intervals.
44
Fibre Channel Interface Manual, Rev. A
8.0
FC Arbitrated Loop concepts
This section describes some basic Fibre Channel Arbitrated Loop (FC-AL) concepts. Seagate disc drives support FC-AL as the topology for connectivity in Fibre Channel environments.
Fibre Channel is a serial data channel that provides logical point-to-point service to two communicating
devices. With FC-AL, you can have a maximum of one point-to-point circuit at any one time. When this circuit
is active, only two L_Ports are communicating, but up to 127 devices may be attached to and participating on
the same loop. All of the L_Ports that are on the loop but that are not one of the two communicating L_Ports
“see” all data transferred across the loop and retransmit this information so that the data reaches its intended
destination.
8.1
Arbitrated Loop physical address (AL_PA)
Each device communicating on an arbitrated loop must have an Arbitrated Loop Physical Address (AL_PA).
The AL_PA is an 8-bit (1-byte) 8B/10B encoded value that is a valid data character. This 8-bit character, when
encoded to 10 bits, must have an equal number of 1’s and 0’s in the address to maintain neutral running disparity. Neutral running disparity is required so that the AL_PA data character does not change the current running disparity of the current transmission word. There are 134 characters that result in neutral disparity. See
Table 13. Seven of the 134 neutral disparity characters are reserved (see Table 14 on page 47). This leaves
127 valid addresses.
Table 13:
8B/10B characters with neutral disparity
D xx.y
y
xx
0
00
*
*
*
00, 80, E0
01
*
*
*
01, 81, E1
02
*
*
*
02, 82, E2
03
04
1
*
2
*
3
4
*
*
5
*
6
7
23, 43, 63, A3, C3
*
*
Hex value
*
04, 84, E4
05
*
*
*
*
*
25, 45, 65, A5, C5
06
*
*
*
*
*
26, 46, 66, A6, C6
07
*
*
*
*
*
27, 47, 67, A7, C7
08
*
*
*
08, 88, E8
09
*
*
*
*
*
29, 49, 69, A9, C9
10
*
*
*
*
*
2A, 4A, 6A, AA, CA
11
*
*
*
*
*
2B, 4B, 6B, AB, CB
12
*
*
*
*
*
2C, 4C, 6C, AC, CC
Fibre Channel Interface Manual, Rev. A
45
Table 13:
8B/10B characters with neutral disparity
D xx.y
xx
y
0
1
2
3
13
*
*
14
*
*
4
5
6
7
*
*
*
2E, 4E, 6E, AE, CE
*
*
*
2E, 4E, 6E, AE, CE
Hex value
15
*
*
*
0F, 8F, EF
16
*
*
*
10, 90, F0R
17
*
*
*
*
*
31, 51, 71, B1, D1
18
*
*
*
*
*
32, 52, 72, B2, D2
19
*
*
*
*
*
33, 53, 73, B3, D3
20
*
*
*
*
*
34, 54, 74, B4, D4
21
*
*
*
*
*
35, 55, 75, B5, D5
22
*
*
*
*
*
36, 56, 76, B6, D6
23
*
*
*
17, 97, F7R
24
*
*
*
18, 98, F8R
25
*
*
*
*
*
39, 59, 79, B9, D9
26
*
*
*
*
*
3A, 5A, 7A, BA, DA
27
*
28
*
*
*
*
*
*
1B, 9B, FBR
3C, 5C, 7C, BC, DC
*
29
*
*
*
1D, 9D, FDR
30
*
*
*
1E, 9E, FER
31
*
*
*
1F, 9F, FFR
Total
134
13
19
19
19
13
19
19
13
* character with neutral disparity.
R
Reserved (see Table 14 on page 47).
Of the 134 neutral disparity characters, seven are reserved. This leaves 127 valid non-reserved addresses.
126 of these addresses may be used by NL_Ports and one (00) may be used by a FL_Port (if present).
46
Fibre Channel Interface Manual, Rev. A
Table 14:
AL_PA addressing
Values (hex)
Use
00
Reserved for the FL_Port (if present)
01-EF
Contains 127 valid addresses
F0
Reserved for fairness
F1-F6
These values do not have neutral running disparity
F7-F8
Reserved for loop initialization
FB, FD, and FE
Reserved for future use
FF
Reserved to address all ports in broadcast mode
In the parallel SCSI world, the higher the bus address, the higher the priority the device has. The opposite is
true with FC-AL. See Table 15.
Table 15:
AL_PA value priorities
AL_PA value
Priority
00
Highest priority (assigned to the FL_Port if present)
01
Highest priority NL_Port (on a public loop)
EF
Lowest priority NL_Port address
F0
Used only by the fairness algorithm and has no priority
During loop initialization, each NL_Port interested in participating on the loop is assigned one of the 126 AL_PA
values. If an NL_Port is offline because its node is powered off, the port is considered a non-participating
NL_Port.
One more reason exists for an L_Port being in non-participating mode; you can place more than 127 L_Ports
on a loop, and, if this occurs, loop initialization permits only the first 126 NL_Ports and the first FL_Port to
acquire a valid AL_PA. The remaining L_Ports must wait for a position to open up to obtain a valid AL_PA.
An L_Port can get a valid AL_PA in four ways:
1. Assigned by the fabric (if present)
2. Use the previously-assigned address
3. Hard assigned by the backpanel
4. Soft assigned and acquired through the loop initialization process
The most common method that disc drives use is to have the backpanel provide a hard assigned address. This
is similar to setting a SCSI ID on a drive, but with Fibre Channel, the ID is set on the backpanel rather than the
drive. If, for some reason, a duplicate address is encountered when hard-assigned addresses are processed,
the drive will revert to acquiring a soft-assigned AL_PA during initialization. This insures that every node gets a
unique AL_PA.
A more detailed explanation of loop initialization is provided in the following section.
Fibre Channel Interface Manual, Rev. A
47
8.2
Loop initialization
Loop initialization is the process used to obtain or verify AL_PAs. Loop initialization occurs at power-up, when
a new node is inserted in the loop, or for error recovery.
During loop initialization, each NL_Port discovers that it is connected in an arbitrated loop topology and that
there may be multiple NL_Ports on the arbitrated loop. The procedure used for this discovery is called the loop
port state machine (LPSM). The FC-2 protocol is also used.
A buffer on the drive receives each of the following loop initialization frames: LISM, LIFA, LIPA, LIHA, LISA,
LIRP, and LILP. All other frames may be discarded if the L_Port’s buffer is full.
If the NL_Ports finds that there are not any more NL_Ports attached, but that there is only an F_Port or N_Port
attached, the NL_Port configures itself to operate as an N_Port by going into N_Port mode.
48
Fibre Channel Interface Manual, Rev. A
An L_Port begins the loop initialization procedure in the initializing state at the request of the node. In most
cases, the backpanel will be set to provide a hard assigned physical address which will not be changed by the
initialization process, unless duplicate hard assigned physical addresses are found. The AL_PA of the one
FL_Port (if present) is always 00h. All other AL_PA values will range from 01h - EFh.
Figure 10.
Loop initialization sequences
Fibre Channel Interface Manual, Rev. A
49
The loop initialization process begins when any NL_Port forces the loop into the INITIALIZING state. See Figure 11. This initializing port begins transmitting loop initialization primitive sequences (LIPs). Any NL_Port can
cause this by sending any of the LIPS listed in Table 16. All LIPs cause the 4-step initialization process to
occur. A loss of signal will also force the loop to initialize.
There are five Loop Initialization Primitive (LIP) sequences:
Table 16:
Loop Initialization Primitive (LIP) sequences
LIP Reason Code
Use
Description
F7, F7
Initializing LIP
Used when an L_Port wants to acquire an AL_PA.
F8, AL_PS
Loop failure
The originating L_Port has detected an input failure. The AL_PS is
the AL_PA of the L_Port.
F8, F7
Loop failure
The originating L_Port has detected an input failure but the L_Port
does not have an AL_PA.
F7, AL_PS
Performance degradation
The originating L_Port has detected poor loop performance. Example: The L_Port is unable to win arbitration.
AL_PD, AL_PS
Selective reset
The source L_Port (AL_PS) wants to reset the destination port
(AL_PD). All L_Ports complete loop initialization. The selected
L_Port performs a reset after loop initialization.
FF, AL_PS
Reset all
The source L_Port (AL_PS) wants to reset all other L_Ports supporting LIP reset on the loop. All L_Ports complete initialization.
The L_Ports supporting LIP reset all (generally only the targets in a
storage implementation) perform a reset after loop initialization.
The next L_Port in the loop receives the LIPs and transitions to the OPEN_INIT state and transmits LIPs to the
next L_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 L_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 msecs). The L_Port
then transmit Loop Initialization Select Master (LISM) frames to select a loop master who will then control the
initialization process.
Loop initialization steps
There are four primary steps involved in initializing the loop.
1. Select a loop master based on the 8-byte port name (Loop Initialization Select Master—LISM).
2. Assign each port an arbitrated loop physical address (AL_PA). There are four ways a port can acquire an
AL_PA. These are listed below.
•
Fabric assigned (Loop Initialization Fabric Assigned—LIFA)
•
Previously acquired (Loop Initialization Previously Acquired—LIPA)
•
Hard assigned (Loop Initialization Hardware Assigned—LIHA)
•
Soft assigned (Loop Initialization Soft Assigned—LISA)
3. Generate AL_PA position map (Loop Initialization Report Position—LIRP).
4. Transmit completed AL_PA position map around the loop (Loop Initialization Loop Position—LILP).
50
Fibre Channel Interface Manual, Rev. A
Loop Initialization Select Master (LISM)
12-byte payload
The loop master is determined as follows:
• Each NL_Port selects an initial AL_PA of ‘EF’. The FL_Port (if present) selects an AL_PA of ‘0’.
• Each port transmits LISM with the D_ID and S_ID fields of the header set to its AL_PA. The payload is set to
the port name which includes the world wide name (WWN).
• Each port examines the payload in the inbound LISM. If it is greater than its own, the port transmits a new
LISM with its own port name in the 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 fibre, initialization proceeds to LIFA.
Loop Initialization Fabric Assigned (LIFA)
20-byte payload
11020000
16-byte bit map of AL_PAs
The loop master primes the bit map with zeroes (0) then sends the bit map around the loop in the LIFA payload.
Example
The loop master places zeroes in the bit map corresponding to
each bit position.
Bit position
1
2
3
4
5
6
7
8
AL_PA positions --
00
01
02
04
08
0F
10
17
...
EF
Switch address --
7E
7D
7C
7B
7A
79
78
77
...
00
0
0
0
0
0
0
0
0
Bit map content
0
L
...
...
128
0
Any port which has an AL_PA assigned by the fabric will set a ‘1’ in the bit map at the position corresponding to
its AL_PA. If a ‘1’ already exists, no map entry is made.
Loop Initialization Previously Assigned (LIPA)
20-byte payload
11030000
16-byte bit map of AL_PAs
The loop master transmits the bit map resulting from the LIFA.
Fibre Channel Interface Manual, Rev. A
51
The L_Port checks to see if the bit that corresponds to its previously acquired AL_PA is set. If not, the L_Port
sets it to ‘1’. If the L_Port’s bit has already been set by another port, it will attempt to assume a soft-assigned
AL_PA (LISA).
Example
The L_Port had a previously assigned AL_PA of 4 which was
not already set by another port, so it set the bit at position 4 to
‘1’.
Bit position
1
2
3
4
5
6
7
8
AL_PA positions --
00
01
02
04
08
0F
10
17
...
EF
Switch address --
7E
7D
7C
7B
7A
79
78
77
...
00
0
0
0
1
0
0
0
0
Bit map content
0
L
...
...
128
0
The L_Port at AL_PA 4 claims its’
previously assigned address.
The L_Port then retransmits the LIPA frame.
Loop Initialization Hard Assigned (LIHA)
20-byte payload
11040000
16-byte bit map of AL_PAs
The loop master transmits the bit map resulting from the LIPA.
The L_Port checks to see if the bit that corresponds to its hard address is set (usually using switches or jumpers). If not, the L_Port sets it to ‘1’. If the L_Port’s bit has already been set by another port, it will attempt to
assume a soft-assigned AL_PA (LISA).
Example
The L_Port had a hard address set by switch or jumper at
AL_PA 8 which was not already set by another port, so it set the
bit at position 8 to ‘1’.
Bit position
1
2
3
4
5
6
7
8
AL_PA positions --
00
01
02
04
08
0F
10
17
...
EF
Switch address --
7E
7D
7C
7B
7A
79
78
77
...
00
0
0
0
1
0
0
0
1
Bit map content
0
L
...
...
128
0
The L_Port at AL_PA 8 claims its’
preferred (hard-assigned) address.
The L_Port then retransmits the LIHA frame.
Loop Initialization Soft Assigned (LISA)
20-byte payload
11050100
16-byte bit map of AL_PAs
The loop master transmits the bit map resulting from the LIHA.
52
Fibre Channel Interface Manual, Rev. A
The L_Port checks to see if there are any free addresses left in the bit map by checking for the first available
‘0’. The L_Port sets it to ‘1’. If there are no zeroes in the bit map, all 126 NL_Port addresses have been taken
and the port is not allowed to actively participate in the loop.
Example
The L_Port saw that the first ‘0’ occurred in bit position 1, so it
changed that bit to a ‘1’ to effectively select ‘1’ as it’s AL_PA.
Bit position
1
2
3
4
5
6
7
8
AL_PA positions --
00
01
02
04
08
0F
10
17
...
EF
Switch address --
7E
7D
7C
7B
7A
79
78
77
...
00
1
0
0
1
0
0
0
1
Bit map content
0
L
...
128
...
0
First available ‘0’
changed to ‘1’.
The L_Port then retransmits the LISA frame.
Loop Initialization Report Position (LIRP)
132-byte payload
11060000
128-byte map of AL_PA physical positions
The LIRP and LILP sequences build a mapping between AL_PA values and participating L_Port positions. This
allows all L_Ports to know where all of the other AL_PA addresses are physically located on the loop.
To build this address map, the loop master primes the 128-byte position map with ‘FF’ in each position. The
loop master then sets byte 0 (the “counter” byte) of the position map to ‘01’ and places its own AL_PA in byte 1
and then sends the position map around the loop.
Each port increments the position counter (byte 0) by one and places its AL_PA at the map position indicated
by the counter. For example, the second device on the loop (with the loop master counted as the first device)
increments byte 0 by one to make byte 0 have a value of ‘2’ and 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.
Example
This example position map shows that there are 6 ports on
the loop. The loop master has AL_PA ‘E8’. The first port after
the master on the outbound fibre has AL_PA ‘D6’ and the last
port on the loop before getting back to the master has AL_PA
‘08’.
Byte map content 06
E8
D6
Fibre Channel Interface Manual, Rev. A
E2
6A
5F
08
FF
...
FF
53
Loop Initialization Loop Position (LILP)
132-byte payload
11070000
128-byte map of AL_PA physical positions
When the loop master gets the LIRP frame back from the loop, it contains the AL_PAs and physical location of
each participating port on the loop. The loop master retransmits the completed position map (now called the
LILP) to the next port on the loop. This informs all ports of the loop’s physical make-up and also makes it possible for each port to make a copy of the map before retransmitting it to the next port.
When the loop master gets the LILP back from the loop, it sends a CLS followed by Idles. All of the other ports
retransmit the CLS and transition to the Monitoring state. When the loop master gets the CLS back from the
loop, it removes it and then transitions to the Monitoring state. This signals the end of the initialization process.
Example
This example LILP map shows that there are 6 ports on the
loop. The hex values of the AL_PAs are in the appropriate
positions indicating the physical order of the ports on the
loop.
Byte map content 06
E8
D6
E2
6A
5F
08
FF
...
FF
Detailed loop initialization explanation
1. Select initial AL_PA
Each FL_Port selects an AL_PA hex value of ‘00’.
Each NL_Port selects an AL_PA hex value of ‘EF’.
2. Select the loop master
Each L_Port continuously1 transmits a LISM loop initialization sequence with the D_ID and S_ID fields set
to hex ‘0000xx’ (where ‘xx’ is its initial AL_PA) and its Port_Name in the payload.
Each L_Port monitors its receiver and proceeds as follows:
a. If the L_Port receives a LISM loop initialization sequence that is the same as the one it transmits, it
becomes the loop master and continues at step 3.
b. If the L_Port received a LISM loop initialization sequence that is not the same as the one it transmits, the
L_Ports checks the D_ID and payload as follows:
i.
ii.
If the L_Port is an FL_Port and the received D_ID = hex ‘000000’, the loop initialization sequence
is from another FL_Port. If its Port_Name is algebraically:
-
lower than the Port_Name in the payload, the FL_Port transmits a LISM loop initialization
sequence with the payload containing its own Port_Name.
-
higher than the Port_name in the payload, the FL_Port retransmits the same LISM that it
received and goes to the MONITORING state in nonparticipating mode (another FL_Port won
the role of loop master).
If the L_Port is an FL_Port and the received D_ID is not equal to hex ‘000000’, the FL_Port discards the received sequence. This allows an FL_Port to become the loop master.
iii. If the L_Port is a NL_Port and the received D_ID equals hex ‘000000’, the NL_Port retransmits the
received Loop Initialization Sequence. This allows an FL_Port to become the loop master.
iv. If the L_Port is an NL_Port and the received D_ID is not equal to hex ‘000000’, the Loop Initialization Sequence is from another NL_Port. If its Port_Name is algebraically:
1.Frames are sent continuously because they may be discarded by any L_Port that does not have a receive buffer available
(flow control is not used during initialization).
54
Fibre Channel Interface Manual, Rev. A
-
lower than the Port_Name in the payload, the NL_Port transmits a LISM loop initialization
sequence with the payload containing its Port_Name.
-
higher than the Port_name in the payload, the NL_Port retransmits the received Loop Initialization Sequence.
Each L_Port continues with steps 2a through 2d.
c. If the L_Port receives an ARB(F0), it continues at step 4.
d. If it receives anything else, the value is discarded and the port continues with steps 2a to 2d.
3. Loop master — transmit remaining Loop Initialization Sequences
a. The loop master continuously transmits ARB(F0)s until its receives its own ARBx (ARB(F0)).
b. The L_Port transmits the LIFA, LIPA, LIHA, and LISA loop initialization sequences. These sequences contain a 16-byte AL_PA bit map in the payload. Each bit represents one AL_PA. See figure 10 and tables 13
and 17.
Table 17:
Loop initialization sequence AL_PA bit map
Bits
3322
1098
2222
7654
2222
3210
1111
9876
1111
5432
11
1098
7654
3210
0
L000
0000
0000
0000
0000
0000
0000
0000
1
0000
0000
0000
0000
0000
0000
0000
0000
2
0000
0000
0000
0000
0000
0000
0000
0000
3
0000
0000
0000
0000
0000
0000
0000
0000
Word
Except for the L_bit, each bit in table Table 17 represents a valid AL_PA. The L_bit is set by the
FL_Port or F/NL_Port to indicate that the configuration has changed. Setting the L_bit implicitly logs
out all NL_Ports. Private NL_Ports are implicitly logged out since the public NL_Ports with which they
may have been communicating, may have a new AL_PA.
The loop master transmits the four loop initialization sequences that contain the 16-byte AL_PA bit
maps as follows:
LIFA
The L_Port primes the AL_PA bit map with binary zero (0) and sets the bit that corresponds to its Fabric Assigned AL_PA to one (1). If the L_Port is an FL_Port, it sets the bit associated with AL_PA 00h.
The L_bit is set if this is the first initialization attempt of an FL_Port or of an NL_Port that has assumed
the role of an F/NL_Port.
LIPA
The L_Port primes the AL_PA bit map with the AL_PA bit map of the previous LIFA loop initialization
sequence. The L_Port checks to see if the bit that corresponds to its previously acquired AL_PA is set.
If it is not set to 1, the L_Port sets the bit (unless a bit was set in LIFA); if the bit is already set to 1, the
L_Port assumes a soft assigned AL_PA.
LIHA
The L_Port primes the AL_PA bit map with the AL_PA bit map of the previous LIPA loop initialization
sequence. The L_Port checks to see if the bit that corresponds to its hard assigned AL_PA is set. If it is
not set to 1, the L_Port sets the bit (unless a bit was set in LIFA or LIPA); if the bit is already set to 1,
the L_Port assumes a soft assigned AL_PA.
If ESI activity is underway when the request for the hard address is received, the drive shall use the
last known value of the hard address before the current ESI activity started. For more information on
ESI, refer to Section 10.5.
LISA
The L_Port primes the AL_PA bit map with the AL_PA bit map of the previous LIHA loop initialization
Fibre Channel Interface Manual, Rev. A
55
sequence. The L_Port sets the first available bit to 1 (unless a bit was set in LIFA, LIPA, or LIHA) which
corresponds to its soft assigned AL_PA. If a bit was available, the L_Port adjusts its AL_PA according
to which bit it set. If no bits are available, the L_Port remains in the nonparticipating mode; the L_Port
may attempt to re-initialize at the request of the node. If the L_Port does not support the AL_PA position mapping loop initialization sequences, it sets byte 2 of the loop initialization identifier to 00h.
c. When the loop master receives the LISA sequence, it checks the loop initialization identifier value. If the
value is 11050100h, the loop master transmits two additional loop initialization sequences as follows:
LIRP
The L_Port sets the AL_PA position map to all hex ‘FF’, enters an offset of 01h followed by its AL_PA.
For example, if AL_PA = 05h, the AL_PA position map contains 0105FFFFFF...FFh.
LILP
The L_Port transmits the AL_PA position map of the previous LIRP loop initialization sequence.
d. When the last loop initialization sequence (identifier = LISA or LILP) is returned, the loop master transmits
CLS to place all L_Ports into Monitoring state. When the loop master received CLS, the L_Port makes the
transition to the Monitoring state and relinquishes its loop master role. At this time, all possible AL_PA values have been assigned for the number of L_Ports and every L_Port that has a valid AL_PA is in participating mode.
If any frame is received that is not formatted according to figure 10, the frame is discarded and the loop master
restarts initialization at step 3b.
The loop master uses the E_D_TOV timer to wait for each of the above loop initialization sequences and the
CLS. If the timer expires before each transmitted loop initialization sequence of CLS is received, the L_Port
goes to the Initializing state.
The L_Port continues at step 5.
4. Non loop master L_Port—select unique AL_PA
A non loop master L_Port retransmits any received ARB(F0)s and prepares to receive (e.g. empties its
receive buffers) and retransmits the following LIFA, LIPA, LIHA, LISA, LIRP, and LILP loop initialization
sequences followed by CLS. The loop initialization sequences contain a 16-byte AL_PA bit map in the payload. Each bit represents one AL_PA (see figure 10 and tables 17 and 14).
LIFA
The L_Port checks to see if the bit that corresponds to its fabric-assigned AL_PA is set. If it is not set to 1,
the L_Port sets the bit; if the bit is already set to 1, the L_Port assumes a soft-assigned AL_PA. The L_Port
retransmits the loop initialization sequence.
LIPA
The L_Port checks to see if the bit that corresponds to its previously-acquired AL_PA is set. If it is not set to
1, the L_Port sets the bit; if the bit is already set to 1, the L_Port assumes a soft-assigned AL_PA. The
L_Port retransmits the loop initialization sequence.
LIHA
The L_Port checks to see if the bit that corresponds to its hard-assigned AL_PA is set. If it is not set to 1,
the L_Port sets the bit (unless a bit was set in LIFA or LIPA); if the bit is already set to 1, the L_Port
assumes a soft-assigned AL_PA. The L_Port retransmits the loop initialization sequence.
To get the hard address, the drive must abort all Enclosure Services Interface (ESI) activity that may be in
process. Both ESI initiated by a receive or send diagnostic command and Enclosure Initiated ESI will be
aborted. Refer to Section 10.0 for more information on ESI.
LISA
The L_Port sets the first available bit to 1 (unless a bit was set in LIFA, LIPA, or LIHA above) that corresponds to its soft-assigned AL_PA. If a bit was available, the L_Port adjusts its AL_PA according to which
bit was set. If no bits are available, the L_Port remains in nonparticipating mode; the L_Port may attempt to
reinitialize at 10.3 at the request of the node. If the L_Port does not support the AL_PA position mapping
loop initialization sequences, it sets byte 2 of the loop initialization identifier to 00h. The L_Port retransmits
the loop initialization sequence.
56
Fibre Channel Interface Manual, Rev. A
LIRP
If LIRP is received, the L_Port reads the left-most byte (offset), increment it by one, store the offset, and
store its AL_PA into the offset position. The L_Port retransmits the loop initialization sequence.
LILP
If LILP is received, the L_Port may use the AL_PA position map to save the relative positions of all L_Ports
on the loop. This information may be useful for error recovery. The L_Port retransmits the loop initialization
sequence.
If any frame is received that is not formatted according to figure 10 and as specified in step 3 on page 55,
the frame is discarded. If a LIRP or LILP frame is received by an L_Port which does not support the AL_PA
position map, the frame is discarded.
Each L_Port uses the E_D_TOV timer to wait for each of the above loop initialization sequences and the
CLS. If the timer expires before each loop initialization sequence of CLS is received, the L_Port goes to the
Initializing state. One possible reason for this is that the loop master was removed from the loop.
When CLS is received, the L_Port retransmits CLS and goes to the Monitoring state in participating mode
(if it acquired a valid AL_PA).
The L_Port continues at step 5.
5. Select final AL_PA and exit initialization
a. If an FL_Port is in participating mode, it has completed initialization with an AL_PA of 00h and exits the loop
initialization.
b. If a private NL_Port is in participating mode, the NL_Port has completed initialization with an AL_PA in the
range of 01h - EFh and exits loop initialization. If during initialization, the NL_Port detected that the L_bit
(Login required) was set to 1, it implicitly logs out with all other NL_Ports.
c. If a public NL_Port is in participating mode, the NL_Port has discovered an AL_PA in the range of 01h EFh. If one of the following occurred, the NL_Ports implicitly logout with all ports and attempt a fabric login
to the address FFFFFEh - AL_PA 00h:
•
the NL_Port detected that the L_bit (login required) was set to 1 in a LIFA, LIPA, LIHA, or LISA loop initialization sequence;
•
the NL_Port was unable to set to 1 its fabric-assigned AL_PA bit or its previously-acquired AL_PA bit in
the LIFA or LIPA loop initialization sequence (i.e., another NL_Port is using the AL_PA);
• the NL_Port has not previously executed a fabric login.
Normal responses to a fabric login request are:
•
the transmitted OPN(00,AL_PS) and login extended link service sequence are returned to the
NL_Port. No L_Port on the loop has accepted this request. The NL_Port sets its native address identifier to 0000xxh (where xx is its AL_PA).
If the NL_Port is capable of providing fabric services in the absence of an FL_Port (i.e., it recognizes the
well-known alias address FFFFFEh as well as its own native address identifier), this NL_Port (also known
as an F/NL_Port) recognizes OPN(00,x) in addition to its own AL_PA. If this is the first time that the
NL_Port is assuming the responsibility of an F/NL_Port, to ensure that all previous login requests are
reset, the F/NL_Port goes to the Initializing state (REQ(initialize)) and sets the L_bit (login required) to 1 in
the LIFA loop initialization sequence.
To prevent another L_Port from winning arbitration, this F/NL_Port should not relinquish control of
the loop until it is prepared to receive OPN(00,AL_PS).
If the NL_Port is not capable of becoming an F/NL_Port, the NL_Port exits loop initialization.
Note.
•
the NL_Port receives an Accept (ACC) link service sequence. The NL_Port uses the D_ID in the ACC
sequence as its native address identifier and bits 7 - 0 of the D_ID as its fabric-assigned AL_PA. The
NL_Port compares the fabric-assigned AL_PA in the ACC sequence with the AL_PA acquired prior to
step 5. If they are equal, the NL_Port exits loop initialization. If they are not equal, the NL_Port goes to
the Initializing state (REQ(initialize)) to re-initialize and acquire the fabric-assigned AL_PA value.
Fibre Channel Interface Manual, Rev. A
57
8.2.1
Loop initialization state machine
Figure 11.
Loop initialization state machine
The loop initialization process is used whenever any unusual event occurs on the loop. One such event would
be inserting a new NL_Port into the loop. Invoking the loop initialization process permits the new NL_Port to
acquire an AL_PA so it can begin operations.
58
Fibre Channel Interface Manual, Rev. A
8.2.2
Loop reinitialization
Loop reinitialization occurs when an L_Port is added to the loop, removed from the loop, or for error recovery.
Figure 12.
Loop state machine (simplified)
8.3
Accessing another L_Port
Each port has its own private arbitration primitive (ARBx) signal. Each port uses this ARBx signal to arbitrate
for and win access rights to the loop. This must be done before communicating with another port.
When an L_Port is not communicating with another port, it is in a monitoring state to see if some other L_Port
is trying to communicate with it. The L_Port is also retransmitting the stream of transmission words it is receiving. If a port needs to communicate, it sends out its arbitration primitive signal by replacing the fill words1
between frames. If the arbitration primitive signal (ARBx) travels completely around the loop without being
1.Fill words may be Idles, ARBx’s, or ARB(F0)’s. Fill words are transmitted between frames and may be deleted for clock
skew management purposes.
Fibre Channel Interface Manual, Rev. A
59
replaced, that port has won arbitration of the loop and is free to open the loop between its receiver and transmitter and is also free to stop retransmitting received transmission words. This means the NL_Port is no longer
in repeat mode and all words transmitted on its outbound fiber are generated by the NL_Port.
When operating in full duplex mode, the port that wins arbitration sends out a special primitive signal called
OPNyx to select a destination port on the loop and to identify the port sending the OPNyx primitive signal. The
“y” value of OPNyx is the arbitrated loop physical address of the destination device (AL_PD). If a port receives
an OPNyx and recognizes its AL_PD, the L_Port opens the loop at its L_Port. This L_Port and the one that
sent the OPNyx begin normal FC-2 protocols.
When the port that won arbitration and sent the OPNyx to initiate communication between itself and another
L_Port wants to close communication with the port, it uses another primitive signal called close (CLS) to signal
the other port of its intent to close the loop. The receiving L_Port finishes its work and then transmits a CLS
back to the originating L_Port. At this point, the two ports return to the monitoring state, and other L_Ports can
start communicating.
When operating in half duplex mode, OPNyy only identifies the destination port; therefore, the sending port
cannot be determined.
8.3.1
Access fairness
So what happens when two or more ports happen to request access to the loop at exactly the same time? Or
what happens when one port has already won access to the loop and others then want to arbitrate to win
access? The answers lie in the access fairness algorithm that most NL_Ports on a loop use. This access fairness algorithm ensures that all participating NL_Ports will have equal access to the loop. NL_Ports that use the
access fairness algorithm are called “fair” NL_Ports. Seagate Fibre Channel drives fully implement the access
fairness algorithm.
Remember that each L_Port can continuously 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) discussed below). See section 8.1 for additional information about AL_PAs. 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 don’t 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.
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.
How does the open NL_Port know when another port is arbitrating? The open NL_Port transmits ARB(F0)
primitive sequences and monitors to see if its ARB(F0) is replaced by a higher priority address. Since xF0 is
the lowest-priority 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 Timeout Value (E_D_TOV), the offended L_Port can reset the access window to force arbitration. When a Seagate drive is operating as a target, it closes the loop when it has transmitted all of the frames it needed to send. Seagate drives do not hold the loop open to monitor the input stream for
ARBs.
60
Fibre Channel Interface Manual, Rev. A
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.
8.3.2
Access unfairness
Some loops may require that certain NL_Ports have more access to the loop than just one access per access
window. Examples of this situation include an NL_Port for a subsystem controller or file server. Any NL_Port
can be initialized to not use the fairness algorithm. If this occurs, the NL_Port is called an “unfair” NL_Port. An
NL_Port can also be configured to be temporarily unfair.
When an unfair L_Port has arbitrated for and won access to the loop and does not detect that another L_Port
is arbitrating, that L_Port may keep the existing circuit open indefinitely or close that circuit and retain ownership of the loop without re-arbitrating to open another L_Port on the loop.
When an unfair NL_Port controls the loops and detects that another L_Port is arbitrating, the unfair NL_Port
may close the loop at the earliest possible time.
If you have a public loop connected to a fabric, the participating FL_Port is always the highest priority L_Port
on the loop based on its AL_PA value of 00h (see Section 8.1).
Note.
There can be only one participating FL_Port on any one loop. Additional FL_Ports can be present,
but they will be in nonparticipating mode.
The FL_Port doesn’t use the access fairness algorithm because it must control communications with the
attached fabric. This means the FL_Port will always win arbitration.
8.3.3
Clock skew management
Each loop port receives an input stream from the port upstream that is based on the clock frequency of that
upstream device. The clock frequency of the upstream device may be slightly faster or slower than the frequency the loop port is using to transmit data. Each loop port captures data using the receive clock frequency
and retimes it to its own transmit clock before forwarding the data. Over time, if the receive clock frequency is
faster than the transmit frequency, data will start backing up in the port. If the receive clock frequency is slower
than the transmit frequency, the port may run out of data.
To compensate for this difference in clock frequencies, each loop port contains an Elasticity (smooting) FIFO
(First In, First Out) buffer that allows words to be inserted or deleted as necessary to account for this difference
in clock frequencies. Only fill words such as Idles or ARB’s may be inserted or deleted during times when
frames or R_RDYs are not being transmitted. Each port originating frames is required to transmit at least six fill
words between frames. This gives all monitoring loop ports an opportunity to insert or delete the fill words. A
minimum of two fill words must be left between frames when it arrives at its destination.
8.4
Loop ports
A loop port (L_Port) is a port designed specifically to operate in a Fibre Channel Arbitrated Loop topology.
NL_Ports have special additional functions which permit them to operate in the arbitrated loop topology as well
as in the point-to-point physical topology when attached to an N_Port or an F_Port. N_Ports are designed for
point-to-point physical topologies, and F_Ports are designed for fabric topologies.
8.4.1
Maximum number of NL_Ports
Up to 126 NL_Ports may be participating on a single arbitrated loop. There can be more than 126 NL_Ports
attached to the loop, but only 126 will be able to obtain a valid arbitrated loop physical address (AL_PA). Only
one (rare) or two NL_Ports communicate at any one time, except during loop initialization. Only one NL_Port
can send frames but several NL_Ports may copy that frame into their buffer.
Fibre Channel Interface Manual, Rev. A
61
8.4.2
Blocking switch emulation
When two NL_Ports open communication with each other (see the OPNyx discussion in Section 8.3), communication between other devices is effectively blocked (other than to retransmit frames or insert fill words). This
is known as a blocking environment since the two communicating ports block operation between any other
L_Ports.
8.4.3
Non-meshed environment
FC-AL is called a non-meshed environment due to the fact that there is only one route to any other port. A
meshed environment (like a fabric) is like a telephone system in which there are many routes possible between
two communicating entities.
62
Fibre Channel Interface Manual, Rev. A
8.4.4
Assigned AL_PA values
All AL_PAs that are used in the loop protocol are listed in table 13. The AL_PAs are assigned to the 16-byte
AL_PA bit maps of table 17 as shown in table 18.
Table 18:
AL_PA
(hex)
AL_PA mapped to bit maps
Bit map
Word
Bit
AL_PA
(hex)
Bit map
Word
Bit
AL_PA
(hex)
Bit map
Word
Bit
AL_PA
(hex)
Bit map
Word
Bit
--
0
31
3C
1
31
73
2
31
B3
3
31
00
0
30
43
1
30
74
2
30
B4
3
30
01
0
29
45
1
29
75
2
29
B5
3
29
02
0
28
46
1
28
76
2
28
B6
3
28
04
0
27
47
1
27
79
2
27
B9
3
27
08
0
26
49
1
26
7A
2
26
BA
3
26
0F
0
25
4A
1
25
7C
2
25
BC
3
25
10
0
24
4B
1
24
80
2
24
C3
3
24
17
0
23
4C
1
23
81
2
23
C5
3
23
18
0
22
4D
1
22
82
2
22
C6
3
22
1B
0
21
4E
1
21
84
2
21
C7
3
21
1D
0
20
51
1
20
88
2
20
C9
3
20
1E
0
19
52
1
19
8F
2
19
CA
3
19
1F
0
18
53
1
18
90
2
18
CB
3
18
23
0
17
54
1
17
97
2
17
CC
3
17
25
0
16
55
1
16
98
2
16
CD
3
16
26
0
15
56
1
15
9B
2
15
CE
3
15
27
0
14
59
1
14
9D
2
14
D1
3
14
29
0
13
5A
1
13
9E
2
13
D2
3
13
2A
0
12
5C
1
12
9F
2
12
D3
3
12
2B
0
11
63
1
11
A3
2
11
D4
3
11
2C
0
10
65
1
10
A5
2
10
D5
3
10
2D
0
9
66
1
9
A6
2
9
D6
3
9
2E
0
8
67
1
8
A7
2
8
D9
3
8
31
0
7
69
1
7
A9
2
7
DA
3
7
32
0
6
6A
1
6
AA
2
6
DC
3
6
33
0
5
6B
1
5
AB
2
5
E0
3
5
34
0
4
6C
1
4
AC
2
4
E1
3
4
35
0
3
6D
1
3
AD
2
3
E2
3
3
36
0
2
6E
1
2
AE
2
2
E4
3
2
39
0
1
71
1
1
B1
2
1
E8
3
1
3A
0
0
72
1
0
B2
2
0
EF
3
0
Notes: ‘--’ is reserved for the L-bit (login required)
AL_PA = ‘00’ is reserved for the FL_Port.
Fibre Channel Interface Manual, Rev. A
63
64
Fibre Channel Interface Manual, Rev. A
9.0
Fibre Channel link services
Link service frames are used to perform functions at the Fibre Channel layer. They are used to establish the
operating parameters, perform channel level error recovery, and check the status of the physical link between
two devices. Link service frames are divided into two groups, Basic and Extended.
Fibre Channel Interface Manual, Rev. A
65
9.1
Basic link services
The drive supports the Abort Sequence (ABTS) and two basic services replies, Basic Accept (BA_ACC) and
Basic Reject (BA_RJT). All other basic link services are discarded by the drive. Basic link service functions are
identified by the R_CTL field of the header.
Table 19:
Word
Basic link services header
Bit
Byte
7
3
2
0
6
5
4
3
2
1
R_CTL
(MSB)
1
D_ID
0
(LSB)
3
2
1
Reserved (00h)
(MSB)
1
S_ID
0
(LSB)
3
2
2
Type (00)
(MSB)
1
F_CTL
0
(LSB)
3
SEQ_ID
2
DF_CTL (00)
3
1
(MSB)
SEQ_CNT
0
3
0
(LSB)
(MSB)
OX_ID
2
(LSB)
4
1
RX_ID (FFFFh)
0
3
(MSB)
2
5
1
Parameter
0
(LSB)
R_CTL (Routing Control)
The basic link service frame. See the description of each basic link service below for the R_CTL value.
D_ID (Destination Identifier)
The address of the drive for ABTS. This value must match the current address of the drive. For the basic link service
replies, the D_ID is the address of the initiator.
S_ID (Source Identifier)
The address of the initiator that sent the frame for ABTS. For the basic link service replies, the S_ID contains the address of
66
Fibre Channel Interface Manual, Rev. A
the drive.
Type
00h
Used for all basic link services frames.
F_CTL (Frame Control)
Set to 090000h for the ABTS. This indicates the ABTS is from the originator of the exchange, this is the last frame of the
sequence, and sequence initiative is transferred for the drive to send the reply back.
For the reply frames, the drive sets the F_CTL to 990000h. This indicates the frame is from the responder, this is the last
sequence, this is the last frame of the sequence, and sequence initiative is returned to the initiator.
SEQ_ID (Sequence Identifier)
Contains the last used SEQ_ID for the exchange for ABTS. The drive does not check the SEQ_ID as the entire exchange
(command) is aborted by the error recovery process. The drive returns the same SEQ_ID in the reply frame as received
from the initiator in the ABTS.
DF_CTL (Data Field Control)
Set to 00h to indicate no optional Fibre Channel headers are used.
SEQ_CNT (Sequence Count)
Set to 0000h to indicate this is the first frame of the Fibre Channel sequence.
OX_ID (Originator Exchange Identifier)
The OX_ID for the sequence being identified by the basic link service.
RX_ID (Responder Identifier)
Not used by the drive. The value of FFFFh indicates the RX_ID is not being used.
Parameter
Not used for basic link services.
9.1.1
Abort Sequence (ABTS)
The Abort Sequence (ABTS) is sent by the initiator to abort a single SCSI exchange (command) or FC
exchange (one of the link service operations). The ABTS frame does not have a payload. All the information is
included in the header.
The R_CTL is 81h.
Fibre Channel Interface Manual, Rev. A
67
9.1.2
Basic Accept (BA_ACC)
BA_ACC is sent by the drive in response to all correctly structured ABTS. If the ABTS identifies an exchange in
execution or buffered for execution, the drive will discard the exchange.
The R_CTL is 84h.
Table 20:
Word
BA_ACC Payload
Bit
Byte
7
6
5
4
3
3
SEQ_ID Valid
2
Last SEQ_ID
1
Reserved
0
Reserved
0
3
2
1
MSB
OX_ID
2
LSB
1
1
MSB
RX_ID
0
3
LSB
MSB
Low Seq_CNT
2
LSB
2
1
0
MSB
0
High SEQ_CNT
LSB
SEQ_ID Validity (Sequence Identifier Valid)
00h
Marks the Last SEQ_ID field as invalid. The SEQ_ID is not used because the error recovery procedure requires the
entire exchange (command) to be aborted.
80h
Marks the Last SEQ_ID field as invalid. The SEQ_ID is not used because the error recovery procedure requires the
entire sequence to be aborted.
Last SEQ_ID (Last Sequence Identifier)
Not used. Invalid (don’t care) for Abort Exchange or Set to SEQ_ID of last deliverable Sequence received from
ABTS Initiator for Abort Sequence
OX_ID Aborted (Originator Exchange Identifier Aborted)
The same value as received in the ABTS.
RX_ID Aborted (Responder Identifier Aborted)
FFFFh.
Lowest SEQ_CNT (Lowest Sequence Count)
0000h Set to 0000h for Abort Exchange or Refer to FC-FS-2 for Abort Sequence
Highest SEQ_CNT (Highest Sequence Count)
FFFFh Set to FFFFh for Abort Exchange or Set to SEQ_CNT of ABTS Frame for Abort Sequence
68
Fibre Channel Interface Manual, Rev. A
9.1.3
Basic Reject (BA_RJT)
BA_RJT is sent by the drive in response to an ABTS with a RX_ID not set to FFFFh.
The R_CTL is 85h.
Table 21:
Word
BA_RJT Payload
Bit
Byte
7
6
5
4
3
3
Reserved (00h)
2
Reason Code
1
Reason Explanation
0
Vendor Unique
0
2
1
0
Reason Code
03h
(Logical Error) is the only Reason code sent by the drive if the RX_ID sent with the ABTS is not FFFFh.
Reason Explanation
03h
No Additional Explanation. This is the only Reason Explanation code sent by the drive.
Vendor Unique
Not supported by the drives described in this manual.
Fibre Channel Interface Manual, Rev. A
69
9.2
Extended link services
The type of extended link service is identified by the LS Command Code in the first word of the payload. The
R_CTL field of the frame header identifies whether the extended link service is a request or a reply to a
request. The accept for extended link services varies with the function. A description of the accept for each
request is included with the description of the request.
Table 22:
Word
Extended link services header
Bit
Byte
7
3
2
0
6
5
4
3
D_ID
(LSB)
3
Reserved (00h)
(MSB)
1
S_ID
0
(LSB)
3
2
2
Type (01h)
(MSB)
1
F_CTL
0
(LSB)
3
SEQ_ID
2
DF_CTRL (00h)
3
1
(MSB)
SEQ_CNT
0
3
0
(MSB)
0
2
1
R_CTL (22h or 23h)
1
1
2
(LSB)
(MSB)
OX_ID
2
(LSB)
4
1
RX_ID (FFFFh)
0
3
(MSB)
2
5
1
0
Parameter
(LSB)
R_CTL (Routing Control)
22h
70
Extended link services and unsolicited control for extended link service request, PLOGI, PRLI, RLS, RRQ, and
PDISC.
Fibre Channel Interface Manual, Rev. A
23h
Extended link services and solicited control for replies, ACC and LS_RJT.
D_ID (Destination Identifier)
Frame destination address.
S_ID (Source Identifier)
The address of the originator of the frame. This address is used by the destination to return any responses that may be
required by the operation.
Type
01h
All extended link services frames.
F_CTL (Frame Control)
Set to 290000h for extended link service requests. This indicates the frame is from the originator of the exchange, this is
the last frame of the sequence, and sequence initiative is transferred for the responder to send the reply back.
For the reply frames, the F_CTL is set to 990000h. This indicates the frame is from the responder, this is the last sequence,
this is the last frame of the sequence, and sequence initiative is returned to the originator.
SEQ_ID (Sequence Identifier)
Not checked by the drive. For extended link services replies, the drive uses the SEQ_ID value received from the initiator.
The drive sends SEQ_ID equal to FFh for extended link services requests it originates.
DF_CTL (Data Field Control)
Set to 00 to indicate no optional Fibre Channel headers are used.
SEQ_CNT (Sequence Count)
Not checked by the drive. For extended link services replies and requests sent by the drive, SEQ_CNT equals 0000.
OX_ID (Originator Exchange Identifier)
The drive sends 0000 to the OX_ID field in extended link services requests it originates. For extended link services replies,
the drive uses the OX_ID value received from the initiator.
RX_ID (Responder Identifier)
Not used by the drive. The value of FFFFh indicates the RX_ID is not being used.
Parameter
Not used for extended link services.
Fibre Channel Interface Manual, Rev. A
71
9.2.1
Port Login (PLOGI) (02x)
Port Login (PLOGI) is sent by the initiator to a drive to establish the Fibre Channel operating parameters. The
PLOGI causes any open exchanges (commands) the initiator may have queued in the drive to be discarded.
Table 23:
Word
PLOGI Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (03h)
2
00h
1
00h
0
00h
1-4
-
N_Port Common Service Parameters
5, 6
-
Port Name
7, 8
-
Node Name
9 - 12
-
Class 1 Service Parameters
13 - 16
-
Class 2 Service Parameters
17 - 20
-
Class 3 Service Parameters
21 - 24
-
Reserved
25 - 28
-
Vendor Version
0
2
1
0
LS Command Code (Link Services Command Code)
03h
PLOGI payload.
N_Port Common Service Parameters
See Table 25 on page 74.
Port Name and Node Name
Used to identify the device. The device may have multiple Fibre Channel ports with each having a unique Port Name. The
drive is a dual-ported device.
The Port and Node Names in the PLOGI identify the initiator. The drive saves the Port Name of the initiator with the login
parameters. If a change of the Port Name/AL_PA address association is detected during a Port Discovery (PDISC), an
implicit logout occurs (any queued commands for the previous Port Name/AL_PA are discarded, the previous login is
cleared) and a LS_RJT is returned to the initiator.
The Port and Node Names in the Port Login Accept (PLOGI ACC) identify the drive. The drive uses a format for the Port
and Node Names defined as the IEEE extended address. See Table 24.
72
Fibre Channel Interface Manual, Rev. A
Table 24:
Word
Port/Node Name format
Bit
Byte
7
3
6
5
Network Address ID (02h)
2
3
2
(LSB)
Company Identifier Assigned by IEEE
3
2
0
(MSB)
0
x+1
1
(MSB
N_Port Identifier
x
1
4
(LSB)
(MSB)
1
Unique Drive Identifier Assigned by Seagate
0
(LSB)
Company Identifier Assigned by IEEE
This Seagate-unique value is registered with the IEEE.
N_Port Identifier
Used by the drive to identify the name of a specific port or node.
000h
Drive Node Name
100h
Port A
200h
Port B
Network Address ID
2h
Defines the name as the IEEE extended format.
Unique Drive Identifier Assigned by Seagate
Assigned by Seagate. Uniquely assigned to each disc drive.
Class 1 and 2 Service Parameters
May be present in the PLOGI frame. The drive checks only for class 3 service parameters.
Class 3 Service Parameters
Required by the drive. See Table 27 on page 76
Vendor Version
Vendor-unique.
Fibre Channel Interface Manual, Rev. A
73
Table 25:
Word
N_Port Common Service Parameters
Bit
Byte
7
6
5
3
Highest ANSI FC-PH Version
2
Lowest ANSI FC-PH Version
4
3
2
1
0
0
1
(MSB)
Buffer to Buffer Credit
0
3
(LSB)
Contin
Increasing
Offset
Random
Relative
Offset
Valid
Vendor
Version
F_Port
Alternate
Credit
Model
E_D_TOV
Resolution
0
Reserved
0
Reserved
Dynamic
Half
Duplex
Continuous
Increase
SEQ_CNT
Payload
Length
Common Features
1
2
Reserved
1
Reserved
(MSB)
Receive Data Field Size
0
(LSB)
3
Reserved
2
(MSB)
1
(MSB)
2
(LSB)
Relative Offset by Info Category
0
3
Total Concurrent Sequences
(LSB)
(MSB)
2
3
1
0
E_D_TOV (Pt to Pt)
(LSB)
Highest ANSI FC-PH Version and Lowest ANSI FC-PH Version fields
The highest and lowest version of the ANSI Fibre Channel Physical and Signaling standards supported by the drive.
A version level of 09h is defined for FC-PH, Rev. 4.3. A version level of 20h is defined for FC-PH-3, Rev. 9.4.
Earlier drives supported by this manual require 09h in the highest and lowest version fields. An LS_RJT will be returned in
response to any PLOGI that does not satisfy this requirement. Later drives do not check the version fields in PLOGI and
74
Fibre Channel Interface Manual, Rev. A
return 20h in the PLOGI ACC. The version fields are not considered an accurate indicator of functionality. Reference the
drive product manual for specific behavior.
Buffer to Buffer Credit field
Not checked by the drive. The drive requires the Alternate Credit Model and assumes a Buffer to Buffer Credit of zero.
When the drive opens a device on the loop, it waits until it receives a R_RDY or a Close. The drive returns 0000 in the
accept.
Common Features
This is a bit significant field which requests options that are used in all classes of service by initiator login. Below is a list of
the features and the drive requirements. The drive returns an LS_RJT to PLOGI requests that do not satisfy the requirements.
Table 26:
Common Features bits
Feature
Drive requirement
Continuously Increasing Offset
Must be a one (1).
Random Relative Offset
Not checked. Port Login Accept returns a value of zero (0). Not supported.
Valid Vendor Version
X
F_Port (Fabric Port)
Must be a zero (0) to denote a N_Port.
Alternate Credit Model
Must be a one (1).
E_D_TOV Resolution
Not checked. Port Login ACC returns 0.
Dynamic Half Duplex
Not checked. Port Login ACC returns 0.
Continuous Increase
SEQ_CNT
Not checked. Port Login ACC returns 0.
Payload Length
Not checked. Port Login ACC returns 0.
Receive Data Field Size field
In the common and class 3 service parameters. Current drives check this field for the range 256 < fs < 2112 and a multiple
of four bytes. For multiple frame sequences, all frames but the last frame of the sequence must be this size. The drive uses
the receive buffer field size in the class 3 parameters when it sends frames. The drive returns the receive buffer field size in
the class 3 parameters from the initiator in the PLOGI ACC.
Total Concurrent Sequences field
Number of concurrent sequences across all classes of service. Sequences are concurrent if they are open and delivery
verification has not been received. It is the initiator’s responsibility to not issue commands to the drive that will exceed the
initiator’s capabilities for concurrent sequences.
The drive returns FFh in Concurrent Sequences field of the PLOGI ACC payload
Relative Offset by Info Category field
Indicates on a bit position basis which categories (e.g., solicited control, data descriptor) support the relative offset in the
FC header. The drive does not require relative offset and does not check this field in the PLOGI. The drive sends Relative
Offset in FCP Data frames (it sets 02h, bit 1 set, in the accept to indicate Relative Offset is supported for solicited data, category 0001b).
E_D_TOV (Pt to Pt) (Error Detect Time Out Value) field
This field is only for point-to-point connections and is not valid for loop operation.
Fibre Channel Interface Manual, Rev. A
75
Table 27:
Word
Class Service Parameters
Bit
Byte
3
7
6
5
Class
Valid
Intermix
Mode
4
Stacked Connect
Request
3
2
1
0
Sequence
Delivery
0
Reserved
0
Reserved
0
Reserved
ACK_N
Capable
0
Reserved
0
Reserved
Service Options
2
Reserved
0
1
X_ID Reassignment
Initial Process
Associator
ACK_0
Capable
Initiator Control
0
3
Reserved
ACK_0
Capable
ACK_N
Capable
X_ID
Interlock
Error Policy
Reserved
Categories per
Sequence
Recipient Control
1
2
1
Reserved
0
0
0
0
(MSB)
Reserved
Receive Data Field Size
0
(LSB)
3
Reserved
2
(MSB)
1
0
2
(MSB)
(LSB)
3
2
(LSB)
N_Port End to End Credit
0
3
Concurrent Sequences
Reserved
(MSB)
Open Sequences per Exchange
1
Reserved
0
Reserved
(LSB)
Service Options field
These bits are checked only for class 3 service parameters. The drive returns an LS_RJT to PLOGI requests that do not
satisfy the drive’s requirement.
76
Fibre Channel Interface Manual, Rev. A
Option
Drive requirement
Class Valid
Must be a one (1).
Intermix Mode
Not applicable. Not valid for class 3.
Stacked Connect Request
Not applicable. Not valid for class 3.
Sequence Delivery
Not applicable. Valid only for Fabric login.
Initiator Control field
The transmit capabilities of the initiator in the PLOGI. The drive returns an LS_RJT to PLOGI requests that do not satisfy
the drive’s requirements. The Initiator Control bits in the PLOGI ACC indicate the capabilities of the drive. The drive returns
zero (0) for all bits that are not applicable for class 3 services and for all reserved bits.
Table 28:
Initiator Control fields
Option
Drive requirement
X_ID (Exchange Identifier) Reassignment
Not applicable. Not valid for class 3.
Initial Process Associator
00 Initial Process Associator not supported.
01 Initial Process Associator supported.
10 Reserved.
11 Initial Process Associator
Values of 10 or 11 cause the Login to be rejected. Other values are
accepted.
ACK_0 (Acknowledge 0) Capable
Not applicable. Not valid for class 3.
ACK_N (Acknowledge N) Capable
Not applicable. Not valid for class 3.
Recipient Control field
Indicates the receive capabilities of the initiator in the PLOGI. The Recipient Control bits in the PLOGI ACC indicate the
capabilities of the drive. The drive returns zero (0) for all bits that are not applicable for class 3 services and for all reserved
bits.
Table 29:
Recipient Control fields
Option
Drive requirement
ACK_0 (Acknowledge 0) Capable
Not applicable. Not valid for class 3.
ACK_N (Acknowledge N) Capable
Not applicable. Not valid for class 3.
X_ID (Exchange Identifier) Interlock
Not applicable. Not valid for class 3.
Error Policy
00 Only discard supported.
01 Reserved.
10 Discard and process supported.
11 Reserved.
The drive supports only the discard error policy. It does not check the Error Policy
bits in the PLOGI as all FC devices are required to support the discard policy. The
drive returns 00 in the PLOGI ACC.
Categories per Sequence
The drive does not check the Categories per Sequence bits in the PLOGI. The
drive originates only one category per sequence. The drive returns 00 in the
PLOGI ACC to indicate it only supports receiving one category per sequence.
Receive Data Field Size field
A class 3 service parameter. Current drives check this field for the range 256 < fs < 2112 and a multiple of four bytes. For
multiple frame sequences, all frames but the last frame of the sequence must be this size. The drive uses the receive buffer
Fibre Channel Interface Manual, Rev. A
77
field size in the class 3 parameters when it sends frames. The drive returns the receive buffer field size in the class 3
parameters from the initiator in the PLOGI ACC.
Concurrent Sequences field
Must be greater than 0. The drive returns FFh in the PLOGI ACC.
N_Port End to End Credit field
Not valid for class 3.
Open Sequences per Exchange field
Must be greater than zero (0). The drive returns 01h in the PLOGI ACC.
The PLOGI ACC returns the drive’s parameters to the initiator. The PLOGI ACC Payload has the same definition as the
PLOGI Payload except the LS Command Code.
78
Fibre Channel Interface Manual, Rev. A
Table 30:
Word
Port Login Accept Payload (PLOGI ACC)
Bit
Byte
7
6
5
3
4
3
2
1
0
LS Command Code (02h)
2
0
1
0
MSB
1-4
-
Common Services Parameter
(16 Bytes)
LSB
MSB
5, 6
-
7, 8
-
MSB
MSB
9 - 12
-
N_Port_Name
(8 Bytes)
Node Name
(8 Bytes)
LSB
LSB
Class 1 Service Parameters
(16 Bytes)
LSB
MSB
13 - 16
Class 2 Service Parameters
(16 Bytes)
-
LSB
MSB
17 - 20
-
Class 3 Service Parameters
(16 Bytes)
LSB
MSB
21 - 24
-
Reserved
(16 Bytes)
LSB
MSB
25 - 28
-
Vendor Version Level
(16 Bytes)
LSB
LS Command Code (Link Services Command Code) field
02h
PLOGI ACC.
N_Port Common Service Parameters field
See Table 25.
Port Name and Node Name field
Used to identify the device. The device may have multiple Fibre Channel ports with each having a unique Port Name. The
drive is a dual-ported device.
The Port and Node Names in the PLOGI identify the initiator. The drive saves the Port Name of the initiator with the login
parameters. If a change of the Port Name/AL_PA address association is detected during a Port Discovery (PDISC), an
Fibre Channel Interface Manual, Rev. A
79
implicit logout occurs (any queued commands for the previous Port Name/AL_PA are discarded, the previous login is
cleared) and a LS_RJT is returned to the initiator.
The Port and Node Names in the PLOGI ACC identify the drive. The drive uses a format for the Port and Node Names
defined as the IEEE extended address. The format is in Table 24.
Class 1 and 2 Service Parameters field
May be present in the PLOGI frame. The drive returns only class 3 service parameters. Class parameters for all other
classes of service are set to all zeros.
Class 3 Service Parameters field
Sent by the drive. See Table 27 for details.
Vendor Version field
Vendor-unique. Not supported.
80
Fibre Channel Interface Manual, Rev. A
9.2.2
Port Logout (PLOGO) (03x)
Port Logout (PLOGO) is sent by the target in response to any frame from an initiator that has not completed
N_Port Login. PLOGO may also be sent by an initiator when it has no further need for a target.
Table 31:
Word
LOGO Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (05h)
2
00h
1
00h
0
00h
3
Reserved
0
2
1
0
2
1
0
2
1
1
N_Port Identifier
0
3
2
2
Port Name
1
0
LS Command Code (Link Services Command Code) field
05h
PLOGO Payload.
N_Port Identifier field
The three-byte address used in the D_ID and S_ID fields of the frame headers.
Port Name field
The unique eight-byte address assigned to the port.
Table 32:
Word
PLOGO Accept
Bit
Byte
7
6
5
4
3
3
LS Command Code (02h)
2
00h
1
00h
0
00h
0
LS Command Code (Link Services Command Code) field
02h
PLOGO Accept.
Fibre Channel Interface Manual, Rev. A
81
9.2.3
Fabric Login (FLOGI) (04)
Fabric Login (FLOGI) is sent by the drive to the fabric to establish the Fibre Channel operating parameters in a
public loop environment. When the drive sends FLOGI, any open exchanges (commands) queued in the drive
are discarded.
Table 33:
Word
FLOGI Payload
Bit
Byte
7
6
5
4
3
2
3
LS Command Code (05h)
2
00h
1
00h
0
00h
1-4
-
N_Port Common Service Parameters
5, 6
-
Port Name
7, 8
-
Node Name
9 - 12
-
Class 1 Service Parameters
13 - 16
-
Class 2 Service Parameters
17 - 20
-
Class 3 Service Parameters
21 - 24
-
Reserved
25 - 28
-
Vendor Version
0
1
0
LS Command Code (Link Services Command Code) field
04h
FLOGI payload.
N_Port Common Service Parameters field
See Table 34 on page 83.
Port Name and Node Name field
Used to identify the device. The drive is a dual-ported device.
The Port and Node Names in the FLOGI uniquely identify the drive and the port sending the FLOGI.
The drive uses a format for the Port and Node Names defined as the IEEE extended address. See Table 24.
Class 1 and 2 Service Parameters field
The drive supports only class 3 service parameters. The drive sends all zeros for all other classes of service.
Class 3 Service Parameters field
Sent by the drive. See Table 36 on page 84.
Vendor Version field
Vendor-unique. Not supported.
82
Fibre Channel Interface Manual, Rev. A
Table 34:
Word
F_Port Common Service Parameters
Bit
Byte
7
6
5
4
3
2
3
Highest ANSI FC-PH Version
2
Lowest ANSI FC-PH Version
0
1
0
(MSB)
Buffer to Buffer Credit
0
3
1
(LSB)
Contin
Increasing
Offset
Random
Relative
Offset
Valid
Vendor
Version
F_Port
Alternate
Credit
Model
E_D_TOV
Resolution
Multicast
Broadcast
Dynamic
Half
Duplex
Continuous
Increase
SEQ_CNT
Payload
Length
Common Features
1
2
Hunt
Groups
1
Dedicated
Simplex
Reserved
0
Reserved
(MSB)
Receive Data Field Size
(LSB)
(MSB)
2, 3
-
Reserved
(LSB)
Highest ANSI FC-PH Version and Lowest ANSI FC-PH Version fields
The highest and lowest version of the ANSI Fibre Channel Physical and Signaling standards supported by Public loop
drives is FC-PH-3 Rev. 9.4
Fibre Channel Interface Manual, Rev. A
83
A version level of 20h is defined for FC-PH-3 Rev. 9.4.
Buffer to Buffer Credit field
The drive sets the Alternate Credit Model and sets the Buffer to Buffer Credit to zero.
Common Features field
This is a bit significant field which indicates the options that are supported by the drive. Below is a list of the features. The
drive returns an LS_RJT to FLOGI ACC for requests that do not satisfy the drive’s requirements.
Table 35:
Common Features bits
Drive
Feature
Support (FLOGI)
Requirement (FLOGI ACC)
Continuously Increasing Offset
1
Must = 1
Random Relative Offset
0
Not checked
Valid Vendor Version
0
Not checked
F_Port (Fabric Port)
0
Must = 1
Alternate Credit Model
1
Must = 1
E_D_TOV Resolution
0
Not checked. Not valid for loop operation.
Multicast
0
Not checked
Broadcast
0
Not checked
Hunt Groups
0
Not checked
Dedicated Simplex
0
Not checked
Dynamic Half Duplex
0
Not checked
Payload Length
0
Not checked
Receive Data Field Size field
The drive sends a receive buffer size of 2112 bytes.
Table 36:
Word
Class 3 Service Parameters
Bit
Byte
3
7
6
Class
Valid
Intermix
Mode
5
4
Stacked Connect
Request
3
2
1
0
Sequence
Delivery
Dedicated
Simplex
Camp-on
Buffered
Class 1
Service Options
0
2
Priority
1
0
1-3
-
Reserved
Reserved
Service Options
84
Fibre Channel Interface Manual, Rev. A
The following class 3 service parameters are sent by the drive.
Table 37:
Service Option Class 3 fields
Drive
Option
Support (FLOGI)
Requirement (FLOGI ACC)
Class Valid
1
Must = 1
Intermix Mode
0, not applicable or valid for class 3.
Not checked
Stacked Connect Request
00, not applicable or valid for class 3.
Not checked
Sequence Delivery
1
Must = 1
Dedicated Simplex
0, Not applicable or valid for class 3
Not checked
Camp-on
0, not applicable or valid for class 3.
Not checked
Buffered Class 1
0, not applicable or valid for class 3
Not checked
Priority
0, not applicable or valid for class 3
Not checked
Table 38:
Fabric Login Accept Payload (FLOGI ACC)
Bit
Byte
Word
7
6
5
4
3
3
LS Command Code (02h)
2
00h
1
00h
0
00h
1-4
-
F_Port Common Service Parameters
5, 6
-
Port Name
7, 8
-
Node Name
9 - 12
-
Class 1 Service Parameters
13 - 16
-
Class 2 Service Parameters
17 - 20
-
Class 3 Service Parameters
21 - 24
-
Reserved
25 - 28
-
Vendor Version
0
2
1
0
LS Command Code (Link Services Command Code)
02h
FLOGI ACC.
F_Port Common Service Parameters
See Table 25.
Port Name and Node Name
Used to identify the fabric. The device may have multiple Fibre Channel ports with each having a unique Port Name.
Fibre Channel Interface Manual, Rev. A
85
The Port and Node Names in the FLOGI ACC identify the fabric. The drive saves the Port Name of the fabric with the login
parameters. If a change of the Port Name is detected during loop initialization, an implicit logout occurs (any queued commands for the previous Port Name/AL_PA are discarded, the previous login is cleared).
Class 1 and 2 Service Parameters
May be present in the FLOGI ACC frame. The drive returns only class 3 service parameters. Class parameters for all other
classes of service are set to all zeros.
Class 3 Service Parameters
Sent by the drive. See Table 37 for details.
Vendor Version
Vendor-unique. Not supported.
86
Fibre Channel Interface Manual, Rev. A
9.2.4
Process Login (PRLI)
Process Login (PRLI) is sent by the initiator to a target to establish the SCSI FCP operating features.
Table 39:
Word
PRLI Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (20h)
2
Page Length (10h)
0
2
1
0
1
Payload Length (14h)
0
3
Type Code (08h)
2
Type Code Extension (00h)
1
1
Orig Proc
Assc Valid
Resp Proc
Assc Valid
Est Image
Pair
0
3
Reserved
Reserved
(MSB)
2
2
Originator Process Associator
1
0
3
(LSB)
(MSB)
2
3
Responder Process Associator
1
0
4
(LSB)
3
Reserved
2
Reserved
1
Reserved
0
Reserved
Data
Overlay
Allow
Initiator
Function
Target
Function
Command/
Data/
Data
Response
Mix
Mix
RD XFR
RDY
Disable
WR XFR
RDY
Disable
Service Parameters
LS Command Code (Link Services Command Code)
20h
PRLI Payload.
Page Length
Length of the service parameter page (in bytes). For a SCSI FCP service page, the length is 10h.
Payload Length
Length of PRLI payload (in bytes). The count includes the LS Command Code. The drive supports one service parameter
page per PRLI.
The Payload Length must be 14h (20 decimal).
Type Code
08h
SCSI FCP process as included in the frame header for FCP frames.
Fibre Channel Interface Manual, Rev. A
87
Type Code Extension
0
Not defined for SCSI FCP and must be set to zero (0).
Orig Proc Assc Valid (Originator Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Resp Proc Assc Valid (Responder Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Data Overlay Allow
Not supported by the drive. The Data Overlay Allowed bit is not checked.
Command/Data Mixed Allowed
1
The initiator sends data in the same sequence as the command. The drive does not support Command/Data Mixed.
It will accept a PRLI with the Allow bit set, but will return a 0 in the accept to indicate the function cannot be used.
Data/Response Mix Allowed
1
Allows the drive to send the FCP RSP in the same sequence as the data. The drive does not support the Data/
Response Mix. It will accept a PRLI with the Allow bit set, but will return zero (0) in the accept to indicate the function
cannot be used.
Establish Image Pair
1
The drive establishes a SCSI login for the initiator.
0
The PRLI is only an inquiry of the drive’s support of the process. The accept is still returned, but the login is not
retained.
Initiator Function
Must be set to one (1) for the drive to accept the login request.
RD XFR RDY Disable (Read Transfer Ready Disable)
1
FCP_XFR_RDY will not be sent before read data. The drive requires this bit to be set to one (1).
Target Function
May be set in addition to the Initiator Function bit. The drive does not check this bit.
WR XFR RDY Disable (Write Transfer Ready Disable)
0
88
The drive requires this bit to be set to zero (0). The drive also requires the use of the WR_XFR_RDY bit.
Fibre Channel Interface Manual, Rev. A
The PRLI recipient returns a PRLI Accept or a LS_RJT to a PRLI request. The PRLI Accept may indicate success or failure of the process login request in the Response Code field. A LS_RJT is returned to a PRLI with a
basic format error, e.g. page length error, payload length, and type code.
Table 40:
Word
PRLI Accept Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (02h)
2
Page Length (10h)
0
2
1
0
1
Payload Length (14h)
0
3
Type Code (08h)
2
Type Code Extension (00h)
1
1
Orig Proc
Assc Valid
Resp Proc
Assc Valid
Est Image
Pair
0
3
Reserved
Response Code
Reserved
(MSB)
2
2
Originator Process Associator
1
0
3
(LSB)
(MSB)
2
3
Responder Process Associator
1
0
4
(LSB)
3
Reserved
2
Reserved
1
Reserved
0
Reserved
Data
Overlay
Allow
Initiator
Function
Target
Function
Command/
Data
Mix
Data/
Response
Mix
RD XFR
RDY
Disable
WR XFR
RDY
Disable
Service Parameters
LS Command Code (Link Services Command Code)
02h
PRLI Accept Payload.
Page Length
Length of the service parameter page (in bytes). For a SCSI FCP service page, the length is 10h.
Payload Length
Length of PRLI payload (in bytes). The count includes the LS Command Code. The drive supports one service parameter
page per PRLI.
Type Code
08h
SCSI FCP process as included in the frame header for FCP frames.
Fibre Channel Interface Manual, Rev. A
89
Type Code Extension
0
Not defined for SCSI FCP and must be set to zero (0).
Orig Proc Assc Valid (Originator Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
The Payload length must be 14h (20 decimal).
Resp Proc Assc Valid (Responder Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
Establish Image Pair
1
The drive establishes a SCSI login for the initiator.
0
The PRLI is only an inquiry of the drive’s support of the process. The accept is still returned, but the login is not
retained.
Response Code
The result of the PRLI request.
Only codes 1 and 7 are supported by the drive.
0
Reserved.
1
Request executed.
2
The target has no resources available for establishing the login.
3
Initialization is not complete. The PRLI may be retried.
4
The Image Pair does not exist.
5
The Image Pair cannot be established due to a predefined configuration.
6
Request executed conditionally. Some of the parameters were not able to be set to their requested state.
7
The destination port is unable to process multiple page PRLI request. The PRLI request may be retried as a single
page request.
Data Overlay Allow
Not supported by the drive. The Data Overlay Allowed bit is not checked.
Initiator Function
Must be set to one (1) for the drive to accept the login request.
Target Function
May be set in addition to the Initiator Function bit. The drive does not check this bit.
Command/Data Mixed Allowed
1
The initiator sends data in the same sequence as the command. The drive does not support Command/Data Mixed.
It will accept a PRLI with the Allow bit set, but will return a 0 in the accept to indicate the function cannot be used.
Data/Response Allowed
1
Allows the drive to send the FCP RSP in the same sequence as the data. The drive does not support the Data/
Response Mix. It will accept a PRLI with the Allow bit set, but will return a 0 in the accept to indicate the function
cannot be used.
Rd XFR RDY Disable (Read Transfer Ready Disable)
1
FCP_XFR_RDY will not be sent before read data. The drive requires this bit to be set to one (1).
Wr XFR RDY Disable (Write Transfer Ready Disable)
1
FCP_XFR_RDY will not be sent to request write data.
0
The drive requires this bit to be set to zero (0). The drive also requires the use of the WR_XFR_RDY bit.
90
Fibre Channel Interface Manual, Rev. A
9.2.5
Process Logout (PRLO)
Process Logout (PRLO) is sent by the initiator to a target to remove an existing SCSI login. This frees target
resources for use by other initiators.
Table 41:
Word
PRLO Payload
Bit
Byte
7
6
5
4
3
2
3
LS Command Code (01h)
2
Page Length (10h)
0
1
0
1
Payload Length (14h)
0
3
Type Code (08)
2
Type Code Extension
1
1
Orig Proc Resp Proc
Assc Valid Assc Valid
0
Reserved
3
(MSB)
Reserved
2
2
Originator Process Associator
1
0
3
(LSB)
(MSB)
2
3
1
Responder Process Associator
0
(LSB)
3
2
4
1
Reserved
0
LS Command Code (Link Services Command Code)
21h
PRLO Payload.
Page Length
Length of the service parameter page in bytes. For a SCSI FCP service page, the length is 10h.
Payload Length
Length of PRLO payload (in bytes). The count includes the LS Command Code. The drive supports one service parameter
page per PRLO. The Payload Length must be 14h (20 decimal).
Type Code
00h
All FC-4 processes between the initiator and target are removed. The drive treats 08h and 00h the same.
Fibre Channel Interface Manual, Rev. A
91
08h
The SCSI-FCP process will be removed.
Type Code Extension
Not defined for SCSI-FCP and must be zero (0).
Orig Proc Assc Valid (Originator Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
The Payload length must be 14h (20 decimal).
Resp Proc Assc Valid (Responder Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
Process Associators
Not supported by the drive. The process associator fields are not checked by the drive.
92
Fibre Channel Interface Manual, Rev. A
Table 42:
Word
PRLO Accept Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (02h)
2
Page Length (10h)
0
2
1
0
1
Payload Length (14h)
0
3
Reserved
2
Reserved
1
1
Orig Proc
Assc Valid
Resp Proc
Assc Valid
Reserved
Reserved
0
3
Response Code
Reserved
(MSB)
2
2
Originator Process Associator
1
0
3
(LSB)
(MSB)
2
3
1
Responder Process Associator
0
(LSB)
3
2
4
1
Reserved
0
LS Command Code (Link Services Command Code)
02h
PRLO Accept Payload.
Page Length
Length of the service parameter page in bytes. For a SCSI FCP service page, the length is 10h.
Payload Length
Length of PRLO payload (in bytes). The count includes the LS Command Code. The drive supports one service parameter
page per PRLO. The Payload Length must be 14h (20 decimal).
Orig Proc Assc Valid (Originator Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
The Payload length must be 14h (20 decimal).
Resp Proc Assc Valid (Responder Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
Fibre Channel Interface Manual, Rev. A
93
Process Associators
Not supported by the drive. The originator and responder process associator valid bits must be set to zero (0). The process
associator fields are not checked by the drive.
Response Code
The result of the PRLO request.
Codes 1, 4, and 7 are supported by the drive.
0
Reserved.
1
Request executed.
2
Reserved.
3
Reserved.
4
The Image Pair does not exist.
5
Reserved.
6
Reserved
7
The destination port is unable to process a multiple page PRLO request. The PRLO request may be retried as a single page request.
94
Fibre Channel Interface Manual, Rev. A
9.2.6
Third Party Process Logout (TPRLO)
Third Party Process Logout (TPRLO) is sent by the initiator to a target to remove an existing SCSI login. This
frees target resources for use by other initiators.
Table 43:
Word
TPRLO Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (04h)
2
Page Length (10h)
0
2
1
0
1
Payload Length (14h)
0
1
3
Type Code (08)
2
Type Code Extension
1
0
Third Party Third Party
Orig Proc Resp Proc
Assc Valid Assc Valid
Third Party
Orig
N_Port ID
Validity
3
2
2
Global
Process
Logout
Reserved
Reserved
(MSB)
1
Third Party Originator Process Associator
0
3
2
3
(LSB)
(MSB)
1
Third Party Responder Process Associator
0
3
(LSB)
2
Reserved
4
1
(MSB
0
Third Party Originator N_Port ID
(LSB)
LS Command Code (Link Services Command Code)
24h
TPRLO Payload.
Page Length
The length must be in the range of 10h to 14h.
Payload Length
Length of TPRLO payload (in bytes). The count includes the LS Command Code. The drive supports one service parameter page per TPRLO. The Payload Length must be in the range of 14h to 18h.
Type Code
00h
All FC-4 processes between the initiator and target are removed. The drive treats 08h and 00h the same.
08h
The SCSI-FCP process will be removed.
Fibre Channel Interface Manual, Rev. A
95
Type Code Extension
Not defined for SCSI-FCP and must be zero (0).
Third Party Orig Proc Assc Valid (Originator Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
The Payload length must be 14h (20 decimal).
Third Party Resp Proc Assc Valid (Responder Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
Third Party Originator N_Port ID Validity
00h
Third Party Originator N_Port ID field is not valid.
01h
Third Party Originator N_Port ID field is valid.
Global Process Logout
00h
Only the process login for the port identified in the N_Port ID field and type code is removed.
01h
All process logins for the specified type code are removed.
Process Associators
Not supported by the drive. The originator and responder process associator valid bits must be set to zero (0). The
process associator fields are not checked by the drive.
Third Party Originator N_Port ID
This field specifies the N_Port address associated with the process login to be removed.
96
Fibre Channel Interface Manual, Rev. A
.
Table 44:
Word
TPRLO Accept Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (02h)
2
Page Length (10h)
0
2
1
0
1
Payload Length (14h)
0
3
Reserved
2
Reserved
1
1
Third Party Third Party
Orig Proc Resp Proc
Assc Valid Assc Valid
Third Party
Orig
N_Port ID
Validity
0
3
Global
Process
Logout
Reserved
Reserved
(MSB)
2
2
Third Party Originator Process Associator
1
0
3
(LSB)
(MSB)
2
3
Third Party Responder Process Associator
1
0
(LSB)
3
2
4
Reserved
(MSB)
1
Third Party Originator N_Port ID
0
(LSB)
LS Command Code (Link Services Command Code)
02h
TPRLO Accept Payload.
Page Length
Length of the service parameter page in bytes. For a SCSI FCP service page, the length is 10h.
Payload Length
Length of TPRLO payload (in bytes). The count includes the LS Command Code. The drive supports one service parameter page per TPRLO. The Payload Length must be 14h (20 decimal).
Third Party Orig Proc Assc Valid (Originator Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
The Payload length must be 14h (20 decimal).
Third Party Resp Proc Assc Valid (Responder Process Associator Valid)
Not supported by the drive. Not checked by the drive.
Must be set to zero (0).
Fibre Channel Interface Manual, Rev. A
97
Third Party Originator N_Port ID Validity
00h
Third Party Originator N_Port ID field is not valid.
01h
Third Party Originator N_Port ID field is valid.
Global Process Logout
00h
Only the process login for the port identified in the N_Port ID field and type code is removed.
01h
All process logins for the specified type code are removed.
Process Associators
Not supported by the drive. The process associator fields are not checked by the drive.
Third Party Originator N_Port ID
This field specifies the N_Port address associated with the process login to be removed.
Response Code
The result of the TPRLO request.
Codes 1, 4, and 7 are supported by the drive.
0
Reserved.
1
Request executed.
2
Reserved.
3
Reserved.
4
The Image Pair does not exist.
5
Reserved.
6
Reserved
7
The destination port is unable to process a multiple page TPRLO request. The TPRLO request may be retried as a
single page request.
98
Fibre Channel Interface Manual, Rev. A
9.2.7
Read Link Error Status Block (RLS)
Read Link Error Status Block (RLS) is sent by the initiator to request the drive to return the Fibre Channel link
error information. The error information is contained in the Link Error Status Block (LESB) that is returned in the
accept to the RLS. The drive maintains a separate LESB for each port.
Table 45:
Word
RLS Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (0Fh)
2
00h
1
00h
0
00h
3
Reserved
0
2
1
0
2
1
1
Port Identifier
0
LS Command Code (Link Services Command Code)
0Fh
RLS Payload.
Port Identifier
This field is interpreted to determine whether to return the Link Error Status Block for port A or B.
0
Return the LESB for the port the RLS was received on.
1
Return the LESB for port A.
2
Return the LESB for port B.
Others
LS_RJT is returned with Invalid N_Port Identifier.
Fibre Channel Interface Manual, Rev. A
99
The RLS Accept includes the LS Command Code and the LESB. The LESB counts are not cleared by a reset.
There is no protocol for clearing the counts. The requester must compare the current values with those read
previously.
Table 46:
Word
RLS Accept Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (02h)
2
00h
1
00h
0
00h
0
3
2
1
0
(MSB)
2
1
Link Failure Count
1
0
3
(LSB)
(MSB)
2
2
Loss of Synchronization Count
1
0
3
(LSB)
(MSB)
2
3
Loss of Signal Count
1
0
3
(LSB)
(MSB)
2
4
Primitive Sequence Protocol Error
1
0
3
(LSB)
(MSB)
2
5
Invalid Transmission Word
1
0
3
(LSB)
(MSB)
2
6
1
0
Invalid CRC Count
(LSB)
LS Command Code (Link Services Command Code)
02h
RLS Accept Payload.
Link Failure Count
Number of times synchronization was lost for greater than R_T_TOV (Receiver Transmitter Timeout Value). A Link Failure
100
Fibre Channel Interface Manual, Rev. A
results in sending Loop Initialization Primitive Sequence (LIP).
Loss of Synchronization Count
Number of times the drive detects loss of synchronization.
Note.
This count includes the Link Failure Count.
Loss of Signal Count
Not supported.
Primitive Sequence Protocol Error
Not supported.
Invalid Transmission Word
Number of invalid transmission words received while in word sync. Reference the specific drive product manual to determine if this field is supported.
Invalid CRC Count
Number of frames discarded due to CRC errors while the drive is in an “open” state. Reference the specific drive product
manual to determine if this field is supported.
Fibre Channel Interface Manual, Rev. A
101
9.2.8
Reinstate Recovery Qualifier (RRQ)
The Reinstate Recovery Qualifier (RRQ) is sent by the initiator to the drive to indicate the Recovery Qualifier
(S_ID, D_ID, OX_ID, RX_ID, SEQ_ID, and SEQ_CNT) for an aborted exchange may be reused. The drive
allows reuse of the Recovery Qualifier immediately after sending the accept to an ABTS and does not require
RRQ. It returns accepts to all RRQs.
Table 47:
Word
RRQ Payload
Bit
Byte
7
6
5
4
3
2
3
LS Command Code (12h)
2
00h
1
00h
0
00h
3
Reserved
0
2
1
Originator S_ID
0
(LSB)
(MSB)
OX_ID
2
(LSB)
2
1
0
(MSB)
1
3
1
(MSB)
RX_ID
0
(LSB)
(MSB)
3 - 10
-
Association Header (optional)
(LSB)
LS Command Code (Link Services Command Code)
12h
RRQ Payload.
Originator S_ID (Originator Source Identifier)
Address identifier of the port that originated the exchange.
OX_ID (Originator Exchange Identifier)
The RRQ is the OX_ID of the Recovery Qualifier.
RX_ID (Responder Identifier)
The RRQ is the RX_ID of the Recovery Qualifier
Association Header
Not supported by the drive.
102
Fibre Channel Interface Manual, Rev. A
.
Table 48:
Word
RRQ Accept Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (02h)
2
00h
1
00h
0
00h
0
2
1
0
LS Command Code (Link Services Command Code)
Not supported by the drive.
9.2.9
Port Discovery (PDISC)
Port Discovery (PDISC) is sent by an initiator to a drive after loop initialization to verify addresses have not
changed. The PDISC transfers the same information as the PLOGI except that the LS Command code in the
first word of the payload is 50000000h. The PDISC does not cause the open exchanges (commands) to be discarded if the initiator address and parameters have not changed. For other contents of the payload, see Section 9.2.1, Port Login (PLOGI).
The accept for the PDISC is the same as for the PLOGI if the drive detects the initiator AL_PA (Physical
Address) or parameters have not changed from a previous login. Section 9.2.1, Port Login (PLOGI). If the drive
detects either the initiator addresses or parameters have changed from a previous login, the drive will not send
an accept. The drive will return a LOGO to indicate to the initiator a PLOGI is required.
9.2.10
Discover Address (ADISC)
Discover Address (ADISC) is sent by an initiator to a drive after loop initialization to verify addresses have not
changed or to verify the drive was able to obtain the hard address select through the interface connector (SEL
Lines) during loop initialization.
Fibre Channel Interface Manual, Rev. A
103
The ADISC allows the drive to compare the initiator’s address and Port Name with previous login values. If
after the loop initialization process the address and Port Name pair provided by the initiator does not match the
login values, the initiator is implicitly logged out.
Table 49:
Word
ADISC Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (52h)
2
00h
1
00h
0
00h
3
Reserved
0
2
1
2
1
0
(MSB)
1
Hard Address of Originator
0
(LSB)
(MSB)
2, 3
-
Port Name of Originator
(LSB)
(MSB)
4, 5
-
Node Name of Originator
(LSB)
3
2
6
-Reserved
(MSB)
1
0
N_Port ID of Originator
(LSB)
LS Command Code (Link Services Command Code)
52h
ADISC Payload.
Hard Address of Originator
This is the 24 bit NL_Port Identifier. The lower 8 bits are the AL_PA the initiator attempts to acquire in the LIHA sequence
during loop initialization. If the initiator does not have a hard address, this 24 bit field is zeros. If the initiator has a hard
address and is able to acquire it during the loop initialization process, the Hard Address and N_Port ID fields of the ADISC
will be the same.
If ESI activity is underway when the request for the hard address is received, the drive shall use the last known value of the
hard address before the current ESI activity started. For more information on ESI, refer to Section 10.5.
Port Name of Originator
This is the unique 8 byte identifier for the initiator port sending ADISC. Refer to Table 24 for the format of the Port Name.
Node Name of Originator
This is the unique 8 byte identifier for the initiator sending the ADISC. Refer to Table 24 for the format of the Node Name.
N_Port ID of Originator
This is the 24 bit NL_Port Identifier used in the S_ID of the ADISC. The lower 8 bits are the AL_PA the initiator acquired
during loop initialization.
104
Fibre Channel Interface Manual, Rev. A
Table 50:
Word
ADISC Accept Payload
Bit
Byte
7
6
5
4
3
3
LS Command Code (02h)
2
00h
1
00h
0
00h
3
Reserved
0
2
1
2
1
0
(MSB)
1
Hard Address of Responder
0
(LSB)
(MSB)
2, 3
-
Port Name of Responder
(LSB)
(MSB)
4, 5
-
Node Name of Responder
(LSB)
3
Reserved
2
(MSB)
6
1
N_Port ID of Responder
0
(LSB)
LS Command Code (Link Services Command Code)
02h
ADISC Accept Payload.
Hard Address of Responder
This is the 24 bit NL_Port Identifier. The lower 8 bits are the AL_PA the drive attempts to acquire in the LIHA sequence during loop initialization. This field represents the address indicated on the drive interface connector. If the drive does not have
a hard address, this 24 bit field is zeros. If the drive has a hard address and is able to acquire it during the loop initialization
process, the Hard Address and N_Port ID fields of the ADISC Accept will be the same.
Port Name of Responder
This is the unique 8 byte identifier for the drive port sending the ADISC Accept. Refer to Table 24 for the format of the Port
Name.
Node Name of Responder
This is the unique 8 byte identifier for the drive sending the ADISC Accept. Refer to Table 24 for the format of the Node
Name.
N_Port ID of Responder
This is the 24 bit NL_Port Identifier used in the S_ID of the ADISC Accept header. The lower 8 bits are the AL_PA the drive
acquired during loop initialization.
Fibre Channel Interface Manual, Rev. A
105
9.2.11
Report Node Capabilities (RNC)
Report Node Capabilities (RNC) is sent to a target node to request that the node report on its capabilities. The
node does this by returning a list of specifications and the supported revision level of the specification.
Table 51:
RNC Payload
Bit
Byte
Word
7
6
5
4
3
2
3
LS Command Code
2
Reserved
0
1
1
0
(MSB)
Payload Length
0
(LSB)
3
RNC Flags
2
Reserved
1
Reserved
0
VU Information Length
2, 3
-
Vendor Identifier - RNC Accept Payload only
4
3-0
Capability Entries
1
LS Command Code (Link Services Command Code)
02h
RNC Accept Payload.
53h
RNC Payload.
Payload Length
Length of the RNC Payload (in bytes). This count includes the LS Command Code.
RNC Flags
00h
Report on all available capabilities.
80h
Report on the selected capabilities listed in the capability entries.
VU Information Length
00h
Length of the Vendor Unique Information in the payload. This feature is not supported and this field must = 0.
Vendor Identifier - RNC Accept Payload only
Eight bytes of ASCII data identifying the vendor of the product (node).
Capability Entries
There may be from zero to n number of capability entries (see the table below for the format of capability entries). The limit
is that the payload length can not be greater than 256 bytes.
Table 52:
Word
Capability Entries
Bit
Byte
6
5
4
3
2
3
Flags
2
Document Identifier
1
Low Revision - RNC Accept Payload only
0
High Revision - RNC Accept Payload only
0
106
7
1
0
Fibre Channel Interface Manual, Rev. A
Flags
Bit 7 = 0 - report on this capability.
Bit 7 = 1 - Invalidate this capability selection.
Bit 6 = 1 - There is an extension on the capability entry. This is not supported. This bit must = 0.
If either bit 5 or bit 4 = 1 - The Document Identifier is vendor unique. This feature is not supported.
Bits 4 and 5 must = 0.
Document Identifier
This number identifies the document. Valid document numbers range from:
01h through 05h
10h through 13h, and
20h through 27h
Low Revision - RNC Accept Payload only
This field contains the lowest revision of the specified document that is supported. The values in the revision fields
represent decimal revisions between 0.0 (00h) and 25.5 (FFh).
High Revision - RNC Accept Payload only
This field contains the highest revision of the specified document that is supported. The values in the revision fields
represent decimal revisions between 0.0 (00h) and 25.5 (FFh).
Fibre Channel Interface Manual, Rev. A
107
9.2.12
Link Service Reject (LS_RJT)
Link Service Reject (LS_RJT) is a reply to an extended link service request that has been rejected. A reason
code is included to communicate additional information about the reject.
Table 53:
Word
LS_RJT Payload
Bit
Byte
7
6
5
4
3
2
3
LS Command Code (01h)
2
00h
1
00h
0
00h
3
Reserved
2
Reason Code
1
Reason Explanation
0
Vendor Unique
0
1
1
0
LS Command Code (Link Services Command Code)
01h
LS_RJT Payload.
Reason Code
03h
Logical Error. This reason code is sent in response to rejected PLOGI and PRLI requests. See Reason Explanation
codes 01h, 03h, 07h, 09h, and 0Fh for PLOGI errors. For PRLI errors, the Reason Explanation code is 00, unspecified. The PRLI errors are Page Length Not 16, Type Code Not 8, and Payload Length Not 20.
09h
Unable to perform command request. This reason code is sent in response to PLOGI. See Reason Explanation
code 29h.
0Bh
Not supported. This reason code is returned in response to extended link service frames that are not supported.
Reason Explanation
The following reason code explanations are returned:
01h
Invalid options. Returned in response to a PLOGI if class 3 parameters are not valid.
03h
Initiator Control class service options. Returned in response to a PLOGI if the initiator requires process associators.
07h
Receive data field size. Returned in response to a PLOGI if the initiator sends a receive buffer size in the common
or class 3 service parameters that is not a multiple of four bytes or not in the range of 256–2112 bytes.
09h
Invalid service parameter—concurrent sequences. Returned in response to a PLOGI if the initiator sets zero (0)
concurrent sequences.
0Bh
Invalid service parameter—credit. Returned in response to a PLOGI if the alternate credit model is not supported by
the initiator.
0Fh
Invalid common service parameters. Returned in response to a PLOGI if common service parameters contain an
unsupported version of FC-PH, continuously increasing offset is not supported, or the F_Port bit is set.
1Fh
Invalid N_Port identifier. This code is returned in response to a RLS if the port identifier value is not in the range of
0–2.
29h
Insufficient resources for login. This code is returned to PLOGI if the login table is full and no initiator can be logged
out (all logged in initiators have active commands in the queue). The PLOGI may be retried.
2Ch
Request not supported.
Vendor Unique
Not supported by the drive.
108
Fibre Channel Interface Manual, Rev. A
9.3
FC common transport
FC common transport (CT) provides a transport for service applications such as the fabric name server. The
type of FC common transport service is identified by the command code in the third word of the payload. The
R_CTL field of the frame header identifies whether the common transport service is a request or a response to
a request. The response for a common transport service varies with the function. A description of the accept
for each request is included with the description of the request.
Table 54:
Word
Common transport header
Bit
Byte
7
6
5
3
2
0
4
3
D_ID
(LSB)
3
Reserved
(MSB)
1
S_ID
0
(LSB)
3
2
2
Type (20h)
(MSB)
1
F_CTL
0
(LSB)
3
SEQ_ID
2
DF_CTL (00h)
3
1
(MSB)
SEQ_CNT
0
3
0
(MSB)
0
2
1
R_CTL (02h)
1
1
2
(LSB)
(MSB)
OX_ID
2
(LSB)
4
1
RX_ID (FFFFh)
0
3
(MSB)
2
5
1
0
Parameter
(LSB)
R_CTL (Routing Control)
02h
Unsolicited control for CT service request, PDISC.
03h
Solicited control for responses.
D_ID (Destination Identifier)
Frame destination address.
Fibre Channel Interface Manual, Rev. A
109
S_ID (Source Identifier)
The address of the originator of the frame. This address is used by the destination to return any responses that may be
required by the operation.
Type
20h
Fibre Channel services.
F_CTL (Frame Control)
Set to 290000h for CT service requests. This indicates the frame is from the originator of the exchange, this is the last
frame of the sequence, and sequence initiative is transferred for the responder to send the reply back.
For the reply frames, the F_CTL is set to 990000h. This indicates the frame is from the responder, this is the last sequence,
this is the last frame of the sequence, and sequence initiative is returned to the originator.
SEQ_ID (Sequence Identifier)
Not checked by the drive. For CT services requests, the drive uses the SEQ_ID value equal to FFh.
DF_CTL (Data Field Control)
Set to 00 to indicate no optional Fibre Channel headers are used.
SEQ_CNT (Sequence Count)
Not checked by the drive. For extended link services replies and requests sent by the drive, SEQ_CNT equals 0000.
OX_ID (Originator Exchange Identifier)
The drive sends 0000 to the OX_ID field in extended link services requests it originates. For extended link services replies,
the drive uses the OX_ID value received from the initiator.
RX_ID (Responder Identifier)
Not used by the drive. The value of FFFFh indicates the RX_ID is not being used.
Parameter
Not used for CT services.
110
Fibre Channel Interface Manual, Rev. A
9.3.1
Register FC-4 Types Name Service (RFT_ID)
Register FC-4 Types Name Service (RFT_ID) is used to register the drive’s Port_Identifier and FC-4 type
(SCSI-FCP) with the fabric name server.
Table 55:
Word
RFT_ID Payload
7
Bit
Byte
6
5
3
0
4
3
2
1
0
FC-CT Revision (01h)
2
1
Reserved
0
1
2
3
FC Services Type Code (FFh) (Directory Service Application)
2
FC Services Sub Type (02h) (Name Service)
1
Options
0
Reserved
3
Command Code: RFT_ID (17h)
2
1
Reserved
0
3
3
2
Reason Code
1
Explanation Code
0
Vendor Unique
3
4
2
Reserved
MSB
1
S_ID of Requesting N_Port
0
5
6 - 12
LSB
3
00h
2
00h
1
01h
0
00h
-
00h - 000h
*Bytes 20-51 contain a bit map of supported FC-4 types. The 1 in byte 22 indicates type 08h (SCSI-FCP)
FC-CT Revision
Revision level of the FC-CT.
FC Services Type Code
FCh
FC Services.
FC Service Sub Type
02h
Name Service.
Options
00h
Single Exchange.
Command Code: RFT_ID
0217h
RFC-4
Fibre Channel Interface Manual, Rev. A
111
Explanation Code
00h
Used only for reject responses.
Reason Code
00h
Used only for reject responses.
S_ID (Source Identifier) of Requesting N_Port
This field contains the Native Port IDentifier of the port registering its FC-4 types.
Vendor Unique
Words 5 through 12 contain a bit map of supported FC-4 types. The 01h in byte 1 of word 5 indicates type 08h (SCSI-FCP)
112
Fibre Channel Interface Manual, Rev. A
10.0
Enclosure services interface (ESI)
ESI provides a path for the drive to input data from the enclosure and, optionally, transfer data to the enclosure.
All transfers between the drive and its enclosure are initiated by the drive in response to SCSI Send Diagnostic
and Receive Diagnostic Results commands from the host system.
There are two levels of ESI capability defined by specifications developed in the Small Form Factor (SFF)
industry group. These specifications use the –Parallel_ESI (–P_ESI) and the seven Select_ID (SEL_(6:0)) pins
in the drive interface connector to implement the ESI interface. The drives covered by this manual support both
levels of capability.
The first level of functionality is defined by the SFF 8045 specification. It provides the simple capability for the
drive to input up to seven signals of enclosure information at the direction of a Receive Diagnostic Results
command and return the status to the host.
The second level of functionality is defined by the SFF 8067 specification. It defines a bidirectional capability
that enables the drive to transfer information to and from its enclosure.
ESI data is transferred in diagnostic pages. The drive does not check the page contents to see if they are valid.
It only provides a transfer function between the host and the enclosure. Reference the SCSI-3 Enclosure Services Command Set (SES) standard for details of the page contents.
10.1
Discovery process
The drive uses a discovery process to determine whether its enclosure supports an ESI and which specification is supported. The discovery process is initiated for each Send Diagnostic and Receive Diagnostic Results
command with a Page Code of 01h to 0Fh. The discovery process is initiated for each retry on an ESI operation and for each enclosure initiated operation. Reference Figure 13 for a flow diagram of the discovery process.
The drive enters the discovery phase be asserting –Parallel ESI low. The enclosure has a maximum of 1 µsec
to respond.
There are three reactions for the enclosure:
1. The SEL_(6:0) pins do not change.
2. SEL_(3:0) change to the binary complement of the address. This indicates that 8067 mode may be supported, but more discovery steps are required.
3. The SEL_(6:0) pins change, but SEL_(3:0) do not equal the binary complement of the address.
In cases 1 and 3, the 8067 support level is not available. The drive processes both cases as 8045 mode and
returns only the seven bits of ESI status. In case 1, the drive is not able to detect whether the enclosure does
not support ESI for this drive location or if ESI equals Select_ID. It is the host’s responsibility to determine
whether the returned information is ESI or Select_ID information. This may be accomplished by issuing a
Receive Diagnostic Results command to a device location with redundant ESI capability.
Fibre Channel Interface Manual, Rev. A
113
In case 2, the drive continues the discovery process. The drive waits up to 1 second for the enclosure to assert
the –ENCL_ACK (SEL_4)) low. The time is allowed for the enclosure processor to complete processing other
possible ESI requests through other devices.
If –ENCL_ACK is not asserted within one second, the drive assumes the enclosure has 8067 support but is not
responding. The SCSI diagnostic command is failed with ASC/ASQ 35 02. If ENCL_ACK is detected, the drive
asserts –DSK_WR and –DSK_RD, SEL(6) and SEL(5) respectively, low.
The enclosure is required to respond to –DSK_WR and –DSK_RD by negating –ENCL_ACK within 100 µsec.
The drive responds to the negating of –ENCL_ACK by negating –DSK_WR and –DSK_RD and moving to the
ESI command phase.
Assert -PARALLEL ESI
Do bits
SEL_(3:0)
Invert in <4
usec?
No
Do bits
SEL_(3:0)
Invert in <4
usec?
Yes
Yes
Does
-ENCL_ACK
assert in <1
sec?
No
The Drive
- assumes enclosure is
SFF-8045 w/o parallel ESI
-ASC/ASCQ= 35 01
No
Yes
Assert -DSK_RD, -DSK_WR
Does
-ENCL_ACK
negate in <100
usec?
The Drive
- assumes enclosure is
SFF-8067 post error 35 02
No
Yes
Negate -DSK_RD, -DSK_WR
The Drive
- assumes enclosure is SFF-8045 with Parallel ESI.
- provides ESI information
The Drive
- assumes enclosure is SFF-8067.
- continues command and data transfer
Figure 13.
114
Discovery process flow diagram
Fibre Channel Interface Manual, Rev. A
10.2
8045 mode
In 8045 mode, the enclosure places the binary complement of ESI on the Select_ID pins, SEL_(6:0).
10.2.1
8045 ESI pinouts
The table below is a mapping of the Select pins to the SFF 8045 ESI function. The sense of the ESI information
is complemented and the address function of the select pins is true. The drive returns the true state of the ESI
in the diagnostic page.
Table 56:
Pin
SFF 8045 ESI pinouts
ESI function
SEL 6
–ESI In 6
SEL 5
–ESI In 5
SEL 4
–ESI In 4
SEL 3
–ESI In 3
SEL 2
–ESI In 2
SEL 1
–ESI In 1
SEL 0
–ESI In 0
Fibre Channel Interface Manual, Rev. A
115
10.3
8067 mode
Transfers on an 8067 interface are started by the drive pulling the –P_ESI pin low to enter the Discovery
phase. For each transfer, there are three phases:
1. Discovery
2. ESI command
3. Data
The data phase is either a read or write to the enclosure depending on the SCSI command.
-Parallel ESI
Enclosure delay
Signal rise time
Enclosure delay
Signal rise time
1 usec max
3 usec max
Sel_ID
Figure 14.
ESI transfer phases
10.3.1
8067 ESI command
Discovery
3 usec max
1 usec max
3 usec max
Command
Read or Write
Sel_ID
When the discover process determines 8067 mode is supported, the drive generates an ESI command to the
enclosure based on the SCSI Send Diagnostic or Receive Diagnostic Results command received from the
host. The format of the ESI command is shown in Table 57.
Table 57:
Word
ESI command format
Bit
Byte
7
6
5
4
3
2
1
0
Page Code
2
Reserved
0
1
3
(MSB)
Send
Send Diagnostic Parameter Length
0
(LSB)
Page Code
The Page Code is from the SCSI Send Diagnostic or Receive Diagnostic Results command diagnostic page that initiated
the ESI transfer.
Send
0
1
The ESI data transfer is from the enclosure to the drive.
The ESI data transfer is from the drive to the enclosure.
Send Diagnostic Parameter Length
For a Send Diagnostic command, the Send Diagnostic parameter length is the page length from the diagnostic page
header incremented by 4 to include the ESI command bytes, and reflects the total number of bytes that will be transferred
to the enclosure unless the transfer is truncated by a shorted allocation length in the CDB. The Send Diagnostic parameter
length is 0 for Receive Diagnostic Results commands.
116
Fibre Channel Interface Manual, Rev. A
10.3.2
8067 ESI interface pinouts
In 8067, the ESI function becomes a bi-directional interface. Three pins are defined for control functions and
the remaining four pins become a 4-bit nibble interface. Table 58 is a mapping of the Select pins to the 8067
ESI interface function. 8067 specifies that open-collector type drivers be used for signals on the P_ESI and
Select lines.
Table 58:
SFF 8067 ESI pinouts
Pin
ESI function
SEL 6
–DSK_WR
SEL 5
–DSK_RD
SEL 4
–ENCL_ACK
SEL 3
Data (3)
SEL 2
Data (2)
SEL 1
Data (1)
SEL 0
Data (0)
10.3.3
8067 information format
ESI in 8067 mode is transferred on the ESI interface a nibble (4 bits) at a time. Refer to Table 59 for the transfer order in bits and Table 60 for byte order.
Table 59:
Bit order in 8067 mode ESI transfers
MSB
Bit order byte
7
Transfer order on ESI interface
Bit order is ESI data
Table 60:
LSB
6
5
4
3
First Nibble
D(3)
D(2)
D(1)
2
1
0
Second Nibble
D(0)
D(3)
D(2)
D(1)
D(0)
Byte order in 8067 mode ESI transfers
Byte order in SCSI transfer
Byte order is ESI transfer
0
1
..........
n–1
n
first
second
..........
n–1
n
Fibre Channel Interface Manual, Rev. A
117
10.4
ESI command transfer
-P_ESI
SEL_6/-DSK_WR
SEL_5/-DSK_RD
SEL_4/-ENCL_ACK
SEL(3:0)/DATA
-SEL(3:0)
CMD
Nibble 1
Discovery
Figure 15.
ESI command transfers
10.4.1
ESI read transfer
CMD
Nibble 2
CMD
Nibble 8
ESI Command
Data
To receive data from the enclosure, the drive pulls –DSK_RD pin low to request information from the enclosure. The enclosure responds by driving the Data pins with ESI and pulling –ENCL_ACK low to signal that the
data is valid. The drive strobes the data and allows high –DSK_RD to return high. The enclosure responds
to the –DSK_RD going high by allowing –ENCL_ACK to return to high. This sequence may be repeated for as
many bytes, two nibble each, requested by the host. The drive exits the ESI mode by not pulling –P_ESI low—
the pull up resistor returns –P_ESI to a high level.
-P_ESI
1 µsec max
SEL_6/-DSK_WR
SEL_6
SEL_5/-DSK_RD
SEL_5
SEL_4/-ENCL_ACK
SEL_4
SEL(3:0)/DATA
Data
Nibble 1
Figure 16.
ESI reads
10.4.2
ESI write transfer
Data
Nibble 2
Data
Nibble N
SEL(3:0)
To send data to the enclosure, the drive places ESI data on the data pins and pulls –DSK_WR in low. The
enclosure strobes the data and responds by pulling –ENCL_ACK low to signal the drive it has taken the data.
The drive stops pulling –DSK_WR low, allows the pin to return to a high . The enclosure responds to the –
118
Fibre Channel Interface Manual, Rev. A
DSK_WR going high by allowing –ENCL_ACK to return to high. This sequence may be repeated for as many
bytes, two nibble each, sent by the host. The drive exits the ESI mode by allowing –P_ESI low to return to a
high.
-P_ESI
1 µsec max
SEL_6/-DSK_WR
SEL_6
SEL_5/-DSK_RD
SEL_5
SEL_4/-ENCL_ACK
SEL_4
SEL(3:0)/DATA
Data
Nibble 1
Figure 17.
ESI writes
10.5
Enclosure-initiated ESI transfer
Data
Nibble 2
Data
Nibble N
SEL(3:0)
Enclosure-initiated ESI (EIE) provides a means for the enclosure to request information or action from a drive
that supports an 8067 ESI interface. The transfer of information is independent of the SCSI interface. The format of the information, however, is similar to the SES information transferred on the SCSI interface for ease of
implementation.
10.5.1
EIE Discovery
A modified discovery phase is defined to allow the enclosure to initiate an information request and allow the
drive to detect the request.
If the drive supports detection of the Un-Mated condition of the START_1 and START_2 signals (case 1), and
supports Enclosure Initiated ESI (EIE) transfers, it monitors the START_1 and START_2 signals. When the
device detects a transition from one state to another, the drive will wait 100 ms and check the lines again. If
the lines are still at their new state, it will assert the –PARALLEL ESI line. To avoid the drive spinning down, it is
highly recommended that when the enclosure changes the lines to initiate an ESI transfer, it does not change
them to the Un-mated condition. If the drive is requesting an ESI transfer with a change in the Start lines, it will
return the START_1 and START_2 lines to their original condition a minimum of 100 nanoseconds before
asserting the –ENCL_ACK signal. The discovery phase continues. Figure 18 illustrates a successful discovery
of an EIE transfer request.
Fibre Channel Interface Manual, Rev. A
119
START_1/START_2
1 sec max device delay
100 nsec min enclosure delay
-Parallel ESI
1 usec max enclosure delay
3 usec max SEL_n rise time
-DSK_WR
SEL_6
-DSK_RD
SEL_5
D (0:3)
SEL_(0:3)
-ENCL_ACK
-SEL_ID (0:3)
SEL_4
1 second max enclosure delay
*1
*2 *3
*4
*5
*1 Enclosure Services Processor changes START_1 and START_2 to indicate that it is
requesting communication with the SCSI device.
*2 SCSI device asserts -PARALLEL ESI to indicate it is ready to begin communication with
the Enclosure Services Processor.
*3 SCSI device determines that enclosure is SFF-8067 compliant by noting that SEL_(0:3)
bits have inverted and that SEL_5 and SEL_6 have the value that the device is presenting.
*4 The Enclosure Services Processor returns START_1 and START_2 to Case 2, 3, or 4.
*5 The Enclosure Services Processor asserts -ENCL_ACK and discovery continues as
described 10.3.1.
Figure 18.
Enclosure Initiated ESI Request
If discovery determines the enclosure does not support an 8067 capable interface or the enclosure does not
return the START_1 and START_2 signals to a valid mated condition, the device negates –PARALLEL_ESI
and prepares for power removal. Figure 19 shows a case where the enclosure does support 8067 ESI transfer
but the enclosure is requesting the drive to prepare for removal. See SCSI Command Reference Manual,
100293068, Section 1.6.7 for more information on the motor spin-up options.
120
Fibre Channel Interface Manual, Rev. A
START_1/START_2
1 sec max device delay
-Parallel ESI
1 usec max enclosure delay
5 ms
max device delay
3 usec max SEL_n rise time
-DSK_WR
SEL_6
-DSK_RD
SEL_5
D (0:3)
SEL_(0:3)
-ENCL_ACK
-SEL_ID (0:3)
SEL_4
1 second max enclosure delay
*1 *2
*3
*4
*5
*1 Enclosure Services Processor changes START_1 and START_2 to indicate that it is
requesting communication with the SCSI device.
*2 SCSI device asserts -PARALLEL ESI to indicate it is ready to begin communication with
the Enclosure Services Processor.
*3 SCSI device determines that enclosure is SFF-8067 compliant by noting that SEL_(0:3)
bits have inverted and that SEL_5 and SEL_6 have the value that the device is presenting.
*4 The Enclosure Services Processor asserts -ENCL_ACK to indicate it is ready to
begin communication with the SCSI device.
*5 The SCSI device negates -PARALLEL ESI to end the ESI transfer and prepares for
power removal as described in 10.3.1.
Figure 19.
Prepare for Removal
10.5.2
EIE operations
Following successful discovery of an EIE transfer request, the drive transfers an ESI command to the enclosure using the write and command phase procedure defined in the SFF-8067 Specification for 40-pin SCA-2
Connector w/Bidirectional ESI, Rev. 3.0, section 6.4.2.2. The contents of the command are defined in 8.3. The
device follows the command with a read phase procedure as described in the SFF-8067 Specification for 40pin SCA-2 Connector w/Bidirectionally ESI, Rev. 3.0, section 6.4.2.3 to retrieve the transfer request information
from the enclosure.
If the enclosure is requesting information, the drive sends an ESI command with Send = 1 to indicate to the
enclosure it is ready to transfer the requested information. The command is followed by a write of the information requested by the enclosure. This information is defined in the SFF-8067 Specification for 40-pin SCA-2
Connector w/Bidirectionally ESI, Rev. 3.0, section 8.3. Following the write, the drive negates –Parallel ESI to
end the operation. Figure 20 is a summary of these operations.
Fibre Channel Interface Manual, Rev. A
121
–PARALLEL ESI
ESI INTF
SEL_ID
Figure 20.
Discovery
Command
Read
Command
Write
SEL_ID
EIE Operation Phases
If any errors or timeouts are detected during the EIE operation, the drive aborts the operation and continues
normal operation. Errors are not reported.
10.5.3
Enclosure requested information
If the enclosure services interface transfer is initiated by the enclosure, the drive sends ESI Command Phase
information as defined in the SFF-8067 Specification for 40-pin SCA-2 Connector w/Bidirectional ESI, Rev.
3.0, table 7-3 to the enclosure following successful discovery. The page code in the ESI command is 00h. This
page code is reserved for SCSI diagnostic commands between the host and the drive and will not appear in
ESI transfers initiated by SCSI commands. An exception to this is the ESI Data Validation (EDV) (see Section
10.5.3.9). The ESI command is a read operation, SEND=0 with parameter length of 6h. During the second
command phase in EIESI, if the drive is writing data, SEND=1 with the parameter length equal to the amount of
data being transferred in the subsequent write phase including the four bytes of header in the write data.
The enclosure responds to the ESI command from the drive with an ESI request as defined in Table 61. The
information requested by the enclosure is identified by the action code.
If the ESI request contains a valid Action Code and non-zero Parameter Length, the drive responds with a write
operation with the requested information. Table 63 defines the format of the Enclosure Initiated ESI (EIE) page.
Tables 64, 66, 62, 67, and 68 define the page contents for the identified action codes.
Table 61:
Bit
Byte
Enclosure Request
7
6
5
0
4
3
1
0
Page Code (00h)
1
Reserved
Action Code
2
Reserved
3
Action Specific
4
2
(MSB)
Parameter Length
5
(LSB)
Page Code
The Page Code identifies the page of enclosure data being transferred.
Note.
The Page Code is always 00h for Enclosure Initiated ESI.
Action Code
The information requested by the enclosure is identified by one of the action codes listed below.
00h
Device Standard Inquiry Data (see Section 10.5.3.1).
01h
Device Address (see Section 10.5.3.2).
02h
Loop Position Map (see Section 10.5.3.3).
03h
122
Initiate Loop Initialization.
Fibre Channel Interface Manual, Rev. A
Note: The Initiate Loop Initialization Action Code (03h) does not include a transfer of information to the enclosure. The Action Specific bits in the Enclosure Request define the operation to be performed. See Table 62.
04h
Device Identification (see Section 10.5.3.4).
05h
Device Temperature (see Section 10.5.3.5).
06h
Port Parameters (see Section 10.5.3.6).
07h
Link Status (see Section 10.5.3.7).
08h
Spin-Down Control (see Section 10.5.3.8).
09h
ESI Data Validation (see Section 10.5.3.9).
0Ah-0Fh Reserved.
Action Specific
The Action Specific byte determines behavior unique to each action code. Refer to Table 63 for the Action Specific byte for
Action Code 3 and Table 71 for the Action Specific byte for Action Code 8. If an Action Specific field is not defined for a
given action code, its value shall be zero.
Initiate LIP Action Specific Bits
Table 62 describes the Action Specific byte 3 of the Enclosure Request shown in Table 61.
Table 62:
Initiate LIP Action Specific Bits
Bit
Byte
7
6
5
4
3
2
0
0
0
0
0
0
0
Note.
1
0
LIP Loop B LIP Loop A
The LIP Loop B and LIP Loop A bits are only defined as such if the Action Code field is set to 03 (Initiate Loop Initialization).
LIP Loop A/B
The drive enters the Loop Initialization Process on either loop A, B, or both as indicated by these bits. The drive originates
a LIP(F7,AL_PS) if it has a valid AL_PA. The drive originates a LIP(F7,F7) if it does not have a valid AL_PA.
Parameter Length
The parameter length in the enclosure request is set by the enclosure to the number of bytes it is requesting including the
four header bytes. The drive sends the actual length of the requested information or the length identified in the request
parameter length whichever is less. If the parameter length is equal to 0, The drive ends the ESI transfer by negating
Parallel_ESI.
Fibre Channel Interface Manual, Rev. A
123
Table 63:
Bit
Byte
Enclosure Initiated ESI Page Format
7
6
5
0
4
3
2
1
0
ESI Page (00h)
1
0
2
3
(MSB)
4
(MSB)
0
0
0
Action Code
Page Length (n – 3)
(LSB)
.
Data
.
n
(LSB)
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
The Action Code requested by the enclosure.
Page Length
The length of the ESI page (n - 3 bytes).
Data
The first n - 4 bytes of ESI data.
10.5.3.1
Table 64:
Bit
Byte
Device Standard Inquiry Data page
Device Standard Inquiry Data page
7
6
5
0
4
3
2
1
0
ESI Page (00h)
1
0
2
3
(MSB)
4
(MSB)
0
0
0
Action Code (00h)
Page Length (24h)
(LSB)
.
.
39
Inquiry Data
(LSB)
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
00h
Device Standard Inquiry Data
Page Length
24h
The length of the ESI page (in bytes).
124
Fibre Channel Interface Manual, Rev. A
Inquiry Data
The first 36 bytes of Standard Inquiry data. Refer to SCSI Command Reference Manual, 100293068, Section 1.6 for a definition of this data. Note: the vendor specific, VS, bit in byte 6 is not valid.
10.5.3.2
Table 65:
Bit
Byte
Device Address page
Device Address page
7
6
5
4
0
3
0
2
3
(MSB)
4
(MSB)
0
0
0
Page Length (24h)
(LSB)
Node Name
12
Port A (01h)
(LSB)
(MSB)
14
Port A Port_Identifier
15
(LSB)
16
Port A Position
17
00
(MSB)
:
Port A Name
25
(LSB)
26
27
Port B (02h)
(MSB)
28
Port B Port_Identifier
29
(LSB)
30
Port B Position
31
00
32
0
Action Code (01h)
:
11
18
1
ESI Page (00h)
1
13
2
(MSB)
:
Port B Name
39
(LSB)
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
01h
Device Address
Fibre Channel Interface Manual, Rev. A
125
Page Length
24h
The length of the ESI page (in bytes).
Node Name
The 64-bit Fibre Channel unique Name_Identifier assigned to the drive.
Port_Identifier
The FC 24-bit address assigned to the port. The lower byte is the current FC-AL AL_PA for this port. If the port does not
have a Port_Identifier, a value of FF FF FFh is returned in the Port_Identifier field.
Port Position
The offset value for this port's AL_PA in the FC-AL AL Loop Initialization Loop Position (LILP) Frame. If the port does not
have an AL_PA, a value of FFh is returned in the Port Position field.
Port Name
The 64-bit Fibre Channel unique Name_Identifier assigned to the port.
10.5.3.3
Table 66:
Bit
Byte
Loop Position Map page
Loop Position Map page
7
6
5
0
3
2
1
0
ESI Page (00h)
1
0
2
3
(MSB)
0
0
0
Action Code (02h)
Page Length (m – 3)
(LSB)
4
5
4
Offset Port A (n – 4)
(MSB)
.
Loop Map Port A
.
n
(LSB)
n+1
n+2
Offset Port B (m – n + 1)
(MSB)
.
.
Loop Map Port B
m
(LSB)
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
02h
Device Address
Page Length
The total transfer length depends on the number of valid ALPA’s on the loop.
Offset Port x
This field Indicates the number of bytes of offset from the FC-AL LILP frame in the Loop Map. A value of 00h indicates the
Loop Map is not available for the port.
126
Fibre Channel Interface Manual, Rev. A
Loop Map Port x
This field contains the valid AL_PA entries from the payload of the FC-AL LILP frame. Only the valid AL_PA entries are
transferred to minimize the transfer time on the ESI interface. The maximum Loop Map size is 127 bytes.
10.5.3.4
Table 67:
Device Identification page
Device Identification page
7
Bit
Byte
6
5
4
0
3
2
1
0
ESI Page (00h)
1
0
2
3
(MSB)
4
(MSB)
0
0
0
Action Code (04h)
Page Length (n – 3)
(LSB)
.
Device ID Data
.
n
(LSB)
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
04h
Device Identification.
Page Length
The length is (bytes) of the Device Identification Page. It will reflect if the allocation length is too small to transfer all the
page.
Device ID Data
This field contains the same data as the SCSI Vital Product Data Device Identification page (83h). See SCSI Command
Reference Manual, 100293068, Section 1.6.4 for the complete SCSI Vital Product Data device Identification information.
Fibre Channel Interface Manual, Rev. A
127
10.5.3.5
Table 68:
Bit
Byte
Device Temperature page
Device Temperature page
7
6
5
0
4
3
2
1
0
ESI Page (00h)
1
0
2
3
(MSB)
0
0
4
0
Action Code (05h)
Page Length (06h)
(LSB)
Temperature
5
.
.
Reserved
9
Field definitions (listed alphabetically)
Action Code
05h
Device Temperature
ESI Page
00h
Identifies the ESI page code used (00h).
Page Length
06h
The length of the ESI page (in bytes).
Temperature
The value of the drive temperature sensor in degrees Celsius, offset by +20 degrees. The range expresses a temperature
between –19 and +235 degrees Celsius. The value of 0 is reserved.
128
Fibre Channel Interface Manual, Rev. A
10.5.3.6
Table 69:
Bit
Byte
Port Parameters page
Port Parameters page
7
6
5
0
0
2
3
(MSB)
0
0
9
1
0
0
Action Code (06h)
(LSB)
Drive Capabilities
5
8
2
Page Length (06h)
4
7
3
ESI Page (00h)
1
6
4
Reserved
0
LSP CHG
0
Port A
Link Fail
Port A
Bypass
0
0
Port B
Link Fail
Port B
Bypass
0
Port A Link Rate
Reserved
0
Port B Link Rate
Reserved
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
06h
Port Parameters.
Page Length
06h
The length of the ESI page (in bytes).
Drive Capabilities
This is a bit-significant field that indicates which device control codes defined by SFF 8045 are supported by the drive. The
corresponding device control code is supported. For example, a one in bits 7 and 6 indicates that device control codes 7
and 6 are supported. This indicates the drive supports Fibre Channel link rates or 1 and 2 GHz.
LSP CHG (Link Status Page Change)
This bit-significant field indicates which device control codes defined in SFF 8045 are supported by the drive.
0
The Link Status Page data has not changed.
1
The date in the Link Status Page has changed since the enclosure last read the Link Status Page.
Port Link Fail
0
The drive is not currently detecting a loop failure condition as defined in FC-AL for the port.
1
The drive is currently detecting a loop failure condition as defined in FC-AL for the port.
Port Bypass
0
The drive is not requesting bypass.
1
The drive is asserting the –ENBL BYP CH signal in the SCA connector for the port.
Port Link Rate
This field contains the value defined for the Fibre Channel link rate by the Device Control Code inputs in SFF 8045. For
example, seven represents 1 GHz.
Fibre Channel Interface Manual, Rev. A
129
10.5.3.7
Link Status page
All fields are supported unless specifically listed as not supported under Field Definitions below.
When the drive changes a value in this page, the drive sets the LSP CHG bit in the Port Parameter page. The
enclosure may poll the Port Parameter page to determine if it needs to read and process the Link Status page.
When the Link Status page is read by the enclosure, the LSP CHG bit is cleared.
130
Fibre Channel Interface Manual, Rev. A
The fields listed in this section are extracted from the FC-PH defined Link Error Status Block (LESB).
Table 70:
Bit
Byte
Link Status page
7
6
5
0
4
3
2
1
0
ESI Page (00h
1
0
2
3
(MSB)
4
.
7
(MSB)
8
.
11
(MSB)
12
.
15
(MSB)
16
.
19
(MSB)
20
.
23
(MSB)
24
.
27
(MSB)
28
.
31
(MSB)
32
.
35
(MSB)
36
.
39
(MSB)
40
.
43
(MSB)
0
0
0
Action Code (07h)
Page Length (60h)
(LSB)
Link Failure Count, Port A
Loss of Sync Count, Port A
Loss of Signal Count, Port A
Primitive Sequence Protocol Error, Port A
Invalid Transmission Word Count, Port A
Invalid CRC Count, Port A
LIP F7 Initiated Count, Port A (valid in loop mode only)
LIP F7 Received Count, Port A (valid in loop mode only)
LIP F8 Initiated Count, Port A (valid in loop mode only)
LIP F8 Received Count, Port A (valid in loop mode only)
44
.
51
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
Reserved
52
.
55
(MSB)
56
.
59
(MSB)
Link Failure Count, Port B
Fibre Channel Interface Manual, Rev. A
Loss of Sync Count, Port B
(LSB)
(LSB)
131
Table 70:
Link Status page (Continued)
Bit
Byte
7
60
.
63
(MSB)
64
.
67
(MSB)
68
.
71
(MSB)
72
.
75
(MSB)
76
.
79
(MSB)
80
.
83
(MSB)
84
.
87
(MSB)
88
.
91
(MSB)
6
5
4
3
2
1
Loss of Signal Count, Port B
Primitive Sequence Protocol Error, Port B
Invalid Transmission Word Count, Port B
Invalid CRC Count, Port B
LIP F7 Initiated Count, Port B
LIP F7 Received Count, Port B
LIP F8 Initiated Count, Port B
LIP F8 Received Count, Port B
92
.
99
0
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
(LSB)
Reserved
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
07h
Link Status.
Page Length
60h
The length of the Link Status page (in bytes).
Link Failure Count
Count of the number of Loss of Sync conditions that have occurred on the port which exceeded 100 ms in duration.
Loss of Sync Count
The count of the number of short ( < 100 ms) Loss of Synchronization conditions that have occurred on the port.
Loss of Signal Count
00h
The count of the number of Loss of Signal conditions on the port (not supported).
Primitive Sequence Protocol Error, Port A
00h
The number of FC-PH defined Primitive Sequence Protocol Errors on port A. This field is not valid in loop mode
(not supported).
132
Fibre Channel Interface Manual, Rev. A
Invalid Transmission Word Count
The count of the number of invalid transmission words/running disparity errors that have been detected on the port.
Invalid CRC Count
The count of the number of write data frames that have been received with invalid CRCs on the port. These errors are only
detected when this drive is the target of the data transfer.
LIP F7 Initiated Count
Count of the number of loop initialization processes originated by the port with LIP – F7’s (Initialize LIP).
LIP F7 Received Count
Count of the number of loop initialization processes initiated on the port by receiving LIP – F7’s (Initialize LIP).
LIP F8 Initiated Count
Count of the number of loop initialization processes originated by the port with LIP – F8’s (Failure LIP).
LIP F8 Received Count
Count of the number of loop initialization processes initiated on the port by receiving LIP – F8’s (Failure LIP).
Primitive Sequence Protocol Error, Port B
00h
The number of FC-PH defined Primitive Sequence Protocol Errors on port B. This field is not valid in loop mode
(not supported).
10.5.3.8
Table 71:
Spin-Down Control Action Specific Bits
Spin-Down Control Action Specific Bits
Bit
Byte
7
6
5
4
3
2
1
0
0
0
0
0
0
0
Read
Status
Enable
Spin
Down
Enable
SpinDn
Ctrl
Read Status
0
Device updates the state of the Enable Spin-Down and Enable SpinDn Ctrl as directed by the corresponding bits in
the request.
1
Device ignores the state of the Enable Spin-Down and the Enable SpinDn Ctrl bits in the request and returns the
current state of these enables without changing their state.
Enable Spin-Down
0
Device will not spin-down if Enable SpinDn Ctrl bit is 1, when it detects an Un-Mated Case on the motor control
lines.
1
Device performs a spin-down if the Enable SpinDn Ctrl bit is a 1 and the Un-Mated Case is present on the motor
control lines at the end of Enclosure Initiated ESI discovery. The bit will remain valid for a maximum of 3 seconds.
Enable SpinDn Ctrl
0
Un-Mated Case is present at the completion of Enclosure Initiated ESI discovery, this device performs a spin-down.
1
Device performs a spin-down if Enable Spin-Down bit is a 1 and the Un-Mated Case is present on the motor control
lines at the end of Enclosure Initiated ESI discovery.
Refer to SCSI Command Reference Manual, 100293068, Section 1.6.7, Jumper Settings, for Motor Spin-Up
options.
After processing a Spin-Down Control Enclosure Request, the device responds with the resulting status of the Spin-Down
Control bits as formatted in Table 72.
Note.
Fibre Channel Interface Manual, Rev. A
133
10.5.3.8.1 Spin-Down Control Status
Table 72:
Bit
Byte
Spin-Down Control Status
7
6
5
4
0
3
2
1
0
ESI Page (00h
1
0
2
3
(MSB)
0
0
0
Action Code (08h)
Page Length (06h)
(LSB)
4
Enable
SpinDown
Reserved
5-9
Enable
SpinDn
Ctrl
Reserved
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
08h
Spin-Down Control Status.
Page Length
06h
The maximum length of the ESI page (in bytes).
10.5.3.9
ESI data validation
ESI Data Validation (EDV) provides a mechanism to verify correct data is transferred over the ESI. This function is optional with support discovered by negotiation. When EDV is enabled, a checksum is calculated and
appended to each ESI transfer phase, ESI command, data, and Enclosure request.
The drive will request ESI data validation when the following occur:
1. The first host request to send or receive ESI data after a power on, a firmware download, or a drive reset
caused by receiving a LIP(AL_PD, AL_PS), a LIP(FF, AL_PS) or a command frame with Target Reset bit
set.
2. If EDV has already been negotiated and then a failure occurs during an ESI transfer which is not the result
of a checksum error being detected.
If ESI data validation is negotiated through EI ESI after events 1 or 2, but before a new ESI command is
received from the host, EDV will not be renegotiated when the host sends the command.
The Parameter Length field for the EDV command phase during EDV negotiation is 00h if the drive initiated
EDV because of a host initiated ESI operation. If the drive is sending an EDV accept because of an enclosure
initiated EDV request, the drive will set the Parameter length to 06h during the command phase for the EDV
accept frame.
134
Fibre Channel Interface Manual, Rev. A
For ESI transfers initiated by a SCSI command, the drive will attempt up to two retries if communication with
the enclosure initially fails or if the drive does not detect in discovery that the enclosure is SFF-8067 compliant.
This applies to all product families that support ESI. During each retry the drive attempts the entire transfer
beginning with discovery. If EDV has been negotiated with the enclosure previously, then EDV is renegotiated
after each failed attempt and before the next if the failure does not occur because of a checksum failure.
Table 73:
Bit
Byte
ESI data validation accept
7
6
5
4
0
3
2
1
0
ESI Page (00h
1
0
2
3
(MSB)
4
1
0
0
0
Action Code (09h)
Page Length (02h)
(LSB)
0
1
5-9
0
0
1
0
1
Reserved
ESI Page
00h
Identifies the ESI page code used (00h).
Action Code
09h
ESI Data Validation Accept.
Page Length
02h
The maximum length of the ESI page (in bytes).
Fibre Channel Interface Manual, Rev. A
135
136
Fibre Channel Interface Manual, Rev. A
11.0
SCSI operations
SCSI information is transported in Fibre Channel frames. All SCSI Fibre Channel Protocol (SCSI-FCP) operations start with an FCP CMND (Command) frame and end with an FCP RSP (Response) frame. Operations initiated with an FCP CMND may be SCSI commands such as read or write data. The operations also include
control operations called Task Management functions. Task Management functions provide reset and Task Set
(queue) control.
11.1
SCSI-FCP
SCSI-FCP is an FC-4 mapping protocol for applying the SCSI command set to the Fibre Channel. This protocol retains the half-duplex nature of parallel SCSI within each I/O operation. For example, a single operation,
such as a Read command, operates over a single port pair between the initiator and target.
11.1.1
FC-4 mapping layer
All devices communicating with a Seagate Fibre Channel disc drive must implement the SCSI-FCP mapping
protocol. The FC-4 mapping layer uses the services provided by FC-PH to execute the steps required to perform the functions defined by the FC-4.
Note.
The Command Descriptor Block (CDB) definitions in this clause are for reference only. A more
complete description of the CDBs are found in the SCSI Command manual Seagate Publication
Number 100293068. Commands supported by a particular drive will be included in the Product
Manual for the drive.
Fibre Channel Interface Manual, Rev. A
137
11.2
FCP CMND
The content of the FCP CMND frame is shown below. Details of the FCP CMND contents are in Table 74 and
Table 75.
SOFi3
Frame header
Payload
CRC
EOFt
Table 74:
FCP CMND frame header
Bit
Word Byte
7
3
2
0
6
5
4
3
2
(MSB)
D_ID
0
(LSB)
3
2
Reserved (00h)
(MSB)
1
S_ID
0
(LSB)
3
2
2
0
R_CTL (06h)
1
1
1
Type (08h)
(MSB)
1
F_CTL
0
(LSB)
3
SEQ_ID
2
DF_CTL (00)
3
1
SEQ_CNT (0000h)
0
3
(MSB)
OX_ID
2
4
(LSB)
1
RX_ID (FFFFh)
0
3
(MSB)
2
5
1
0
138
Parameter
(LSB)
Fibre Channel Interface Manual, Rev. A
R_CTL (Routing Control) field
Set to Unsolicited Command data sequence for the FCP CMND frame.
D_ID (Destination Identifier) field
The address of the drive. This value must match the current address of the drive.
S_ID (Source Identifier) field
The address of the initiator that sent the frame. This address is used by the drive to return any responses that may be
required by the operation.
TYPE field
All SCSI FCP frames must be set to 08h.
F_CTL (Frame Control) field
290000h for FCP CMND frames. This indicates the frame is the first sequence of the exchange and last frame of that
sequence. Sequence initiative is also transferred so the drive may respond to the FCP CMND.
SEQ_ID (Sequence Identifier) field
May be set to any value. The OX_ID field uniquely identifies each command between the initiator and the drive.
DF_CTL (Data Field Control) field
The bits in the DF_CTL field indicate any optional headers that may be present. The DF_CTL field shall be set to 00h (i.e.,
no optional headers) or 40h (i.e., Encapsulating Security Payload).
00h
No optional Fibre Channel headers are used.
SEQ_CNT (Sequence Count) field
0000h value indicates that this is the first frame of the Fibre Channel sequence. The FCP CMND is a single frame
sequence.
OX_ID (Originator Exchange Identifier) field
Assigned by the initiator. This value must be unique for all commands issued by this initiator to the drive. If duplicate
OX_IDs are detected by the drive for uncompleted commands from an initiator, an overlap command error will be returned.
RX_ID (Responder Identifier) field
Not used by the drive. FFFFh indicates the RX_ID is not being used.
Parameter field
Not used for the FCP CMND.
Fibre Channel Interface Manual, Rev. A
139
Table 75:
FCP CMND Payload
Bit
Byte
7
0
(MSB)
6
5
4
3
2
1
0
LOGICAL UNIT NUMBER (FCP_LUN)
:
7
(LSB)
8
9
COMMAND REFERENCE NUMBER
Reserved
PRIORITY
TASK ATTRIBUTE
TASK MANAGEMENT FLAGS
10
Term Task
11
12
Clear ACA
LUN
Reset
Reserved
Clear Task
Set
ADDITIONAL FCP_CDB LENGTH = (n-27)
Abort Task
Set
Reserved
RDDATA
WRDATA
(MSB)
:
FCFP_CDB
27
(LSB)
28
ADDITIONAL FCP_CDB (if any)
n
n+1
(MSB)
n+2
FCP_DL
n+3
n+4
n+5
(LSB)
(MSB)
n+6
n+7
n+8
FCP_BIDIRECTIONAL_READ_DL (if any)
(LSB)
Logical Unit Number (LUN) field
Addresses physical devices or virtual devices attached to a target.
0
Zero is the only valid LUN number for the drives supported by this manual.
The drive will reject Inquiry, Test Unit Ready, and Request Sense commands that select an invalid LUN by sending Check
Condition status in the FCP RSP frame. Inquiry commands will return Inquiry Data with the Peripheral Device Type field set
to Logical Unit Not Present (7Fh). Request Sense and Inquiry commands will send Check Condition status in response to
an invalid LUN selection. For all other commands, the Logical Unit field is not tested.
COMMAND REFERENCE NUMBER field
The COMMAND REFERENCE NUMBER (CRN) field contains the number sent by the initiator FCP_Port to assist in
performing precise delivery checking for FCP commands. If precise delivery is enabled, a nonzero value in the CRN field
shall be treated as a command reference number in determining the receipt and ordering of commands from a particular
initiator FCP_Port to the particular logical unit as described in FCP-3 section 4. If precise delivery is enabled, a zero value
in the CRN field indicates that command shall not be verified for precise delivery. If precise delivery checking is not
enabled, the COMMAND REFERENCE NUMBER field shall be ignored by the device server. If the FCP_CMND IU
140
Fibre Channel Interface Manual, Rev. A
specifies a task management function, the CRN field shall be reserved and set to zero and the FCP_CMND IU shall not be
verified for precise delivery.
PRIORITY field
The PRIORITY field specifies the relative scheduling of this task in relation to other tasks already in the task set for processing by the device server (see SAM-3). If the TASK ATTRIBUTE field contains a value other than SIMPLE, then this
field is reserved.
Task Attribute field
Specifies the type of command queue management requested for the SCSI command in the CDB field of this FCP CMND.
The drive supports:
0
Simple Queue. Specifies that the I/O process be placed in the drive’s I/O process queue for execution. The order
of execution can be arranged by the disc drive in accordance with a performance optimization algorithm.
1
Head of Queue. Specifies that the I/O process be placed first in that logical unit’s queue for the initiator originating the I/O process. An I/O process already being executed by the drive is not preempted. A subsequent I/O process received with a Head of Queue attribute is placed at the head of the queue for execution in last-in, first-out
order.
2
Ordered Queue. Specifies that the I/O process be placed in the disc drive’s I/O process queue for execution in
the order received, with respect to other commands with Ordered Queue attributes, except for I/O processes
received with a Head of Queue, which are placed at the head of the queue.
4
ACA Queue. When an ACA condition is active in the drive, only FCP CMNDs with the ACA Queue attribute
received from the initiator that originated the I/O process that caused the ACA condition will be executed.
5
Untagged Queue. Allows the drive to accept only one command from each initiator. If another command is
received for an initiator with an active command, the drive will return a check in the FCP RSP.
Task Management Flags field
The TASK MANAGEMENT FLAGS field consists of the Terminate Task (TERM TASK), Clear ACA, LOGICAL UNIT RESET,
CLEAR TASK SET, AND ABORT TASK SET bits. These flags request that a task management function be performed.
Task management functions shall be requested by the initiator FCP_Port (Exchange Originator) using a new Exchange. If
any task management flag bit is set to one, the FCP_CDB field, the FCP_DL field, the TASK ATTRIBUTE field, the
RDDATA bit, and the WRDATA bit shall be ignored. If any bit in the TASK MANAGEMENT FLAGS field is set to one, the
FCP_BIDIRECTIONAL_READ_DL field shall not be included in the FCP_CMND IU payload. If more than one task management flag bit is set to one in any FCP_CMND IU, the task management functions shall not be processed and the
FCP_RSP IU shall contain the RSP_CODE field set to 02h (i.e., FCP_CMND fields invalid).
Table 76:
Bit
a
TASK MANAGEMENT FLAGS field
Task Management Function a
7
Obsolete
6
CLEAR ACA
5
Obsolete
4
LOGICAL UNIT RESET
3
Reserved
2
CLEAR TASK SET
1
ABORT TASK SET
0
Reserved
The ABORT TASK SET management function
is specified in FCP-3 Clause 4.9
Fibre Channel Interface Manual, Rev. A
141
Term Task (Terminate Task)
Not supported by the drive. Declared Obsolete by T10.
Clear ACA (Clear Auto Contingent Allegiance)
When this bit is set to one (1) by the initiator that caused the ACA condition, the drive will clear the ACA condition and
allow the drive to resume normal processing of commands.
LUN (Logical Unit Number) Reset
When the drive receives a LUN Reset, it clears the command queue for all initiators and returns a Unit Attention status
in response to the next command received from all initiators. N_Port and Process Logins are preserved. This bit was
formerly called Target Reset.
Clear Task Set
Clears the queue for all initiators. A Unit Attention condition is created for all initiators with commands in the queue
other than the initiator originating the Clear Task Set.
Abort Task Set
Clears only the queue of commands from the initiator originating the Abort Task Set.
ADDITIONAL FCP_CDB LENGTH field
The ADDITIONAL FCP_CDB LENGTH field contains the length in 4-byte words of the ADDITIONAL FCP_CDB field. The
value of the ADDITIONAL FCP_CDB LENGTH field shall be set to zero for task management requests.
FCP_CDB (Command Descriptor Block) field
Always 16 bytes long. The actual contents depends on the command type. Unused bytes are not checked by the drive. If
any of the Task Management flags are set in byte 10, the CDB field is ignored.
RDDATA 9Read Data) bit
Set to one (1) when the command specified by the CDB field will result in a data transfer to the initiator.
WRDATA (Write Data) bit
Set to one (1) when the command specified by the CDB field will result in a data transfer from the initiator.
FCP_CDB field
The FCP_CDB field contains the CDB to be sent to the addressed logical unit. The maximum CDB length is 16 bytes
unless the ADDITIONAL FCP_CDB_LENGTH field has specified that there is an ADDITIONAL_FCP_CDB field. The
FCP_CDB shall be ignored if any task management flag is set to one.
The CDB format is defined by SAM-3 and the contents of the CDB are defined in the SCSI command standards. Bytes
between the end of a CDB and the end of the FCP_CDB field or, if applicable, the ADDITIONAL_FCP_CDB field shall
be reserved.
ADDITIONAL_FCP_CDB field
The ADDITIONAL FCP_CDB field contains any CDB bytes beyond those contained within the 16 byte FCP_CDB field.
The ADDITIONAL FCP_CDB field shall not be present if any task management flag is set to one. The contents of the
field shall be those bytes of an extended CDB beyond the first 16 bytes of the CDB as defined in the SCSI command standards.
FCP_DL field
For a SCSI read operation, the FCP_DL field contains a count of the maximum number of all bytes to be transferred to the
application client buffer in FCP_DATA IU payloads by the SCSI command. The FCP_DL field is the Data-In Buffer Size
defined by SAM-3.
For a SCSI write operation, the FCP_DL field contains a count of the maximum number of all bytes to be transferred from
the application client buffer in FCP_DATA IU payloads by the SCSI command. The FCP_DL field is the Data-Out Buffer
Size defined by SAM-3
For a bidirectional SCSI command, the FCP_DL field contains a count of the maximum number of all bytes to be transferred from the application client buffer in FCP_DATA IU payloads by the SCSI command. The FCP_DL field is the DataOut Buffer Size defined by SAM-3.
142
Fibre Channel Interface Manual, Rev. A
An FCP_DL value of zero indicates that no data transfer is expected regardless of the state of the RDDATA and
WRDATA bits and that no FCP_XFER_RDY or FCP_DATA IUs shall be transferred.
FCP_BIDIRECTIONAL_READ_DL field
For a bidirectional SCSI command, the FCP_BIDIRECTIONAL_READ_DL field contains a count of the maximum number of all bytes to be transferred to the application client buffer in FCP_DATA IU payloads by the SCSI command. The
FCP_BIDIRECTIONAL_READ_DL field is the Data-In Buffer Size defined by SAM-3.
An FCP_BIDIRECTIONAL_READ_DL value of zero indicates that no read operation is expected regardless of the state
of the RDDATA bit and that no FCP_DATA IUs shall be transferred for read data.
If either RDDATA or WRDATA is set to zero, the FCP_BIDIRECTIONAL_READ_DL field is not included in the FCP_CMND
IU payload.
Fibre Channel Interface Manual, Rev. A
143
11.2.1
Command Descriptor Block (CDB)
A request by an initiator to a disc drive is performed by sending a Command Descriptor Block (CDB) to the disc
drive. For several commands, the request is accompanied by a list of parameters sent in FCP DATA frames.
See the specific commands for detailed information.
The Command Descriptor Block always has an operation code as the first byte of the command. This is followed by command parameters (if any) and a control byte. For all commands, if there is an invalid parameter in
the Command Descriptor Block, the disc drive terminates the command without altering the medium. The format description for the Command Descriptor Block as supported by the disc drive is shown in Tables 78 and
79.
11.2.1.1
Operation Code
The Operation Code (Table 77) of the Command Descriptor Block has a Group Code field and a Command
Code field. The three-bit Group Code field provides for eight groups of command codes. The five-bit Command
Code field provides for 32 command codes in each group. Thus, a total of 256 possible operation codes exist.
Operation codes are defined in SCSI Command Reference Manual, 100293068, Clause 3.0.
For the disc drive, the group code specifies one of the following groups:
Group 0 - Six-byte commands (see Table 78)
Group 1 - Ten-byte commands (see Table 79)
Group 2 - Ten-byte commands (see Table 79)
Group 3 - Reserved
Group 4 - Sixteen-byte commands
Group 5 - Twelve-byte commands
Group 6 - Vendor specific
Group 7 - Vendor specific (Variable length & Thirty Two byte commands)
Table 77:
Bit
Byte
Operation Code format for CDB
7
6
0
5
4
3
2
Group Code
Table 78:
Bit
Byte
1
0
1
0
Command Code
Typical CDB for six-byte commands
7
6
0
1
5
4
3
2
Operation Code
Reserved
(MSB)
Logical Block Address (if required)
2
3
(LSB)
4
Transfer Length (if required)
5
Control Byte
Operation code
See Section 11.2.1.3.
144
Fibre Channel Interface Manual, Rev. A
Logical Block Address
See Section 11.2.1.2.
Transfer Length
See Section 11.2.1.5.
Control Byte
See Section 11.2.1.6
Table 79:
Bit
Byte
Typical CDB for ten-byte commands
7
6
0
4
3
2
1
0
Operation Code
1
2
5
Reserved
(MSB)
RelAdr
Logical Block Address (if required)
3
4
5
(LSB)
6
7
Reserved
(MSB)
Transfer Length (if required)
8
9
(LSB)
Control Byte
Operation Code
See SCSI Command Reference Manual, 100293068, Clause 3.0.
RelAdr (Relative Address)
See Section 11.2.1.4.
Logical Block Address
See Section 11.2.1.2.
Transfer Length
See Section 11.2.1.5
Control Byte
See Section 11.2.1.6.
Fibre Channel Interface Manual, Rev. A
145
Table 80.
Bit
Byte
Typical CDB for 12-byte commands
7
6
5
0
1
2
4
3
2
1
0
OPERATION CODE
Miscellaneous CDB information
(MSB)
SERVICE ACTION (if required)
LOGICAL BLOCK ADDRESS (if required)
3
4
5
6
(LSB)
(MSB)
7
TRANSFER LENGTH (If required)
PARAMETER LIST LENGTH (if required)
ALLOCATION LENGTH (if required)
8
9
(LSB)
10
Miscellaneous CDB information
11
CONTROL
Operation Code
See SCSI Command Reference Manual, 100293068, Clause 3.0.
RelAdr (Relative Address)
See Section 11.2.1.4.
Logical Block Address
See Section 11.2.1.2.
Transfer Length
See Section 11.2.1.5
Control Byte
See Section 11.2.1.6.
146
Fibre Channel Interface Manual, Rev. A
Table 81.
Bit
Byte
Typical CDB for 16-byte commands
7
6
5
0
1
2
4
3
2
1
0
OPERATION CODE
Miscellaneous CDB information
(MSB)
SERVICE ACTION (if required)]
LOGICAL BLOCK ADDRESS (if required)
3
4
5
6
(LSB)
(MSB)
Additional CDB data (if required)
7
8
9
10
(LSB)
(MSB)
11
TRANSFER LENGTH (If required)
PARAMETER LIST LENGTH (if required)
ALLOCATION LENGTH (if required)
12
13
(LSB)
14
Miscellaneous CDB information
15
CONTROL
Fibre Channel Interface Manual, Rev. A
147
Table 82.
Bit
Byte
Typical variable length CDB for long LBA 32-byte commands
7
6
5
4
3
2
0
OPERATION CODE (7Fh)
1
CONTROL
2
Miscellaneous CDB information
3
Miscellaneous CDB information
4
Miscellaneous CDB information
5
Miscellaneous CDB information
6
Miscellaneous CDB information
7
Additional CDB Length (n–7) [9]
8
(MSB)
(LSB)
Miscellaneous CDB information
11
12
0
SERVICE ACTION
9
10
1
DPO
FUA
Miscellaneous CDB information
Miscellaneous CDB information
(MSB)
LOGICAL BLOCK ADDRESS
19
(LSB)
20
Miscellaneous CDB information
27
28
(MSB)
31
TRANSFER LENGTH (If required)
PARAMETER LIST LENGTH (if required)
ALLOCATION LENGTH (if required)
(LSB)
SERVICE ACTION field
The SERVICE ACTION field specifies the action being requested by the application client. The SERVICE ACTION field is
required in the variable length CDB format and is described in SPC-3. Each service action code description defines a number of service action specific fields that are needed for that service action.
11.2.1.2
Logical block address
The logical block address in the Command Descriptor Block begins with block zero and is continuous up to the
last logical block on drive.
Group 0 command descriptor block contains 21-bit logical block addresses. Groups 1 and 2 command descriptor blocks contain 32-bit logical block addresses.
The logical block concept implies that the initiator and target have previously established the number of data
bytes per logical block. This may be established through the use of the Read Capacity command or the Mode
Sense command or by prior arrangement.
The maximum logical block address for the disc drive which is accessible by the initiator is defined in Read
Capacity Command data in SCSI Command Reference Manual, 100293068, Section 1.26.
148
Fibre Channel Interface Manual, Rev. A
11.2.1.3
Operation code
Operation codes are defined in SCSI Command Reference Manual, 100293068, Section 3.0.
11.2.1.4
Relative address bit
Relative addressing is a technique of accessing logical blocks relative to the logical blocks accessed in a previous linked command. Seagate fibre channel drives do not support relative addressing.
11.2.1.5
Transfer length
The Transfer Length field specifies the amount of data to be transferred, usually the number of blocks. For several commands, the Transfer Length indicates the requested number of bytes to be sent as defined in the command description. For these commands, the Transfer Length field may be identified by a different name. See
the following descriptions and the individual command descriptions for further information.
Commands that use one byte for the Transfer Length field allow up to 256 blocks of data to be transferred by
one command. A Transfer Length field value of 1 to 255 indicates the number of blocks that are transferred. A
value of zero indicates 256 blocks.
Commands that use two bytes for the Transfer Length field allow up to 65,535 blocks of data to be transferred
by one command. In this case, a Transfer Length of zero indicates that no data transfer takes place. A value of
1 to 65,535 indicates the number of blocks that are transferred.
For several commands, more than two bytes are allocated for the Transfer Length field. Refer to the specific
command description for further information.
The Transfer Length field of the commands that are used to send a list of parameters to a disc drive is called
the Parameter List Length field. The Parameter List Length field specifies the number of bytes sent during the
FCP DATA sequences for the command.
The Transfer Length field of the commands used to return sense data (e.g., Request Sense, Inquiry, Mode
Sense, etc.) to an initiator is called the Allocation Length field. The Allocation Length field specifies the number
of bytes that the initiator has allocated for returned data. The disc drive terminates the data in the FCP DATA
sequence when Allocation Length bytes have been transferred or when all available data have been transferred to the initiator, whichever is less.
11.2.1.6
Control byte
Normally all zeros unless the extended features of ACA or Link commands are being used.
Table 83:
Bit
Byte
LAST
Control byte
7
6
5
Reserved
4
3
2
1
0
NACA
Flag
Link
NACA (Normal Auto Contingent Allegiance)
1
Enables ACA handling rules for the command. If a Check Condition occurs during the processing of the command, an ACA condition is entered.
0
Disables ACA handling rules for the command.
Flag
Drives supported by this manual do not use this bit.
Fibre Channel Interface Manual, Rev. A
149
Link
This bit is set to one (1) to indicate that the initiator desires an automatic link to the next command upon successful completion of the current command. If the link bit is one (1), upon successful termination of the command, the drive returns Intermediate status in the FCP RSP frame.
Note.
The OX_ID must be the same for all linked commands because it is considered the same exchange.
11.3
FCP XFER RDY
The FCP XFER RDY (Transfer Ready) frame is sent by the drive when it requests data for a transfer to the
drive. Examples of commands resulting in data transfers to the drive are Write, Mode Select, and Write Buffer.
Table 84:
Word
FCP XFER RDY header
Bit
Byte
7
3
2
0
6
5
4
3
D_ID
(LSB)
3
Reserved
(MSB)
1
S_ID
0
(LSB)
3
2
2
0
(MSB)
0
2
1
R_CTL (03)
1
1
2
Type (08)
(MSB)
1
F_CTL
0
(LSB)
3
SEQ_ID
2
DF_CTL
3
1
SEQ_CNT
0
3
(MSB)
OX_ID
2
(LSB)
4
1
RX_ID
0
3
(MSB)
2
5
1
0
Parameter
(LSB)
R_CTL (Routing Control)
Set to Data Descriptor.
150
Fibre Channel Interface Manual, Rev. A
D_ID (Destination Identifier)
The address of the initiator that originated the command for which the data is being requested.
S_ID (Source Identifier)
Address of the drive.
Type
08h
For all SCSI FCP frames.
F_CTL (Frame Control)
Set to 890000h for FCP CMND frames. This indicates the frame is sent by the responder of the exchange, not the originator, and the frame is the last of the Fibre Channel sequence. Sequence initiative is transferred so the initiator may send the
requested data.
SEQ_ID (Sequence Identifier)
The drive sends FFh.
DF_CTL (Data Field Control)
00h
No optional Fibre Channel headers are used.
SEQ_CNT (Sequence Count)
0000h Indicates that this is the first frame of the Fibre Channel sequence. The FCP XFER RDY is a single frame
sequence.
OX_ID (Originator Exchange Identifier)
The drive returns the OX_ID it received from the initiator with the FCP CMND.
RX_ID (Responder Identifier)
Not used by the drive. The value of FFFFh indicates the RX_ID is not being used.
Parameter
Not used for the FCP XFER RDY.
Table 85:
Bit
Byte
0
FCP XFER RDY Payload
7
6
5
4
3
0
Relative Offset
(FCP_DATA_RO)
2
3
(LSB)
(MSB)
5
Burst Length
(FCP_BURST_LEN)
6
7
8
1
(MSB)
1
4
2
(LSB)
(MSB)
9
Reserved
10
11
Fibre Channel Interface Manual, Rev. A
(LSB)
151
Relative Offset (FCP_DATA_RO)
The byte offset of the requested transfer relative to the first byte of the data addressed in the CDB.
Burst Length (FCP_BURST_LEN)
The amount of data (in bytes) requested by the drive for transfer in this Fibre Channel sequence. The maximum length the
drive will request is the remaining data to complete the transfer, the Maximum Burst Size in the Disconnect/Reconnect
SCSI mode (page 2), or the maximum length that may be transferred in a Fibre Channel sequence, whichever is less.
152
Fibre Channel Interface Manual, Rev. A
11.4
FCP DATA
The payload of FCP DATA frames transfer the user data associated with a command.
FCP DATA format
SOFi3
Frame Header
Note: EOFt is used on the last
frame of a sequence. Single
frame sequences end with an
EOFt. All other FCP DATA
frames use EOFn.
Payload (Data)
CRC
EOFn or EOFt
Table 86:
Word
FCP DATA frame header
Bit
Byte
7
6
3
2
0
5
4
3
D_ID
(LSB)
3
Reserved
(MSB)
1
S_ID
0
(LSB)
3
2
2
Type (08h)
(MSB)
1
F_CTL
0
(LSB)
3
SEQ_ID
2
DF_CTL
3
1
(MSB)
SEQ_CNT
0
3
0
(MSB)
0
2
1
R_CTL (01h)
1
1
2
(LSB)
(MSB)
OX_ID
2
(LSB)
4
1
RX_ID (FFFFh)
0
3
(MSB)
2
5
1
0
Fibre Channel Interface Manual, Rev. A
RO
(LSB)
153
R_CTL (Routing Control)
Set to Solicited Data for the FCP DATA frame.
D_ID (Destination Identifier)
The address of the drive if transfer is data to the drive and the address of the initiator originating the command if the transfer is from the drive.
S_ID (Source Identifier)
The address of the initiator originating the command if transfer is data to the drive and the address of the drive if the transfer is from the drive.
Type
08h
For all SCSI FCP frames.
F_CTL (Frame Control)
This field is determined by the direction of the transfer and whether or not the frame is the last frame of the sequence.
For transfers to the drive, the initiator sets the F_CTL to 000008h or 000000h for all frames except the last frame of the
sequence. These values indicate the frame is from for the originator of the exchange (command) and whether the parameter field is the relative offset. For the last frame of the sequence, the initiator sets the F_CTL to 09000Xh. This indicates the
frame is the last frame of the sequence and sequence initiative is transferred so the drive may send an additional FCP
XFER RDY or FCP RSP. The X represents the lower four bits of the F_CTL.
Table 87:
Frame Control bit descriptions
Bit
Description
3
Set to one (1) to indicate the parameter field is the relative offset.
2
0 (Reserved)
1-0
Number of fill bytes in the last word of the frame. The drive requires all data frames for transfers
to and from the media to be integer multiples of four bytes, so the drive requires the fill byte count
to be 0. For transfers that do not require media operations (e.g., inquiry data, read, and write
buffer), the drive supports the fill byte count.
For transfers to the initiator, the drive sets the F_CTL to 800008h for all frames but the last frame of the sequence. This
indicates the frame is from the responder of the exchange (command) and the parameter field is the relative offset. For the
last frame of the sequence, the drive sets the F_CTL to 88000Xh. This indicates the frame is the last frame of the
sequence. Sequence initiative is held for transfer of another sequence or the FCP RSP. The X has the same meaning as
defined above.
SEQ_ID (Sequence Identifier)
For transfers to the drive, the drive captures the SEQ_ID from the first frame of the sequence and requires all subsequent
frames of the sequence to have the same SEQ_ID. For transfers to the initiator, the drive sets the SEQ_ID to 00h for the
first data sequence of a command (exchange). The SEQ_ID is sequentially increased for additional data sequences, if
required, for the command.
DF_CTL (Data Field Control)
00h
Indicates no optional Fibre Channel headers are used.
SEQ_CNT (Sequence Count)
Set to 0000h on the first frame transferred. The SEQ_CNT is required to continually increase through a sequence and
across sequence boundaries if additional sequences are required to complete the transfer. The drive requires all received
frames to be in sequential order. Frames originated by the drive are sent in sequential order.
OX_ID (Originator Exchange Identifier)
The value assigned by the initiator in the FCP CMND.
154
Fibre Channel Interface Manual, Rev. A
RX_ID (Responder Identifier)
Not used by the drive. The value of FFFFh indicates the RX_ID is not being used.
RO (Relative Offset)
The RO is a byte count offset between the first byte of the transfer address identified in the command and the first byte of
data in the frame payload. The drive sends a continually increasing RO on data frames when sending data. The drive does
not require or check the RO field on frames it receives. The drive uses the SEQ_CNT field to verify frames are received in
order.
Fibre Channel Interface Manual, Rev. A
155
11.5
FCP RSP
An FCP Response (RSP) frame is returned by the drive for each FCP CMND operation unless the drive
receives:
1.
2.
3.
4.
5.
A Clear Task Set
An Abort Task Set
A Target Reset
A Loop Initialization Primitive Sequence (LIP) Reset
An Abort Sequence (ABTS) for the command
Table 88:
Wor
d
FCP RSP header
Bit
Byte
7
6
3
2
0
5
4
3
D_ID
(LSB)
3
Reserved
(MSB)
1
S_ID
0
(LSB)
3
2
2
0
(MSB)
0
2
1
R_CTL (07h)
1
1
2
Type (08h)
(MSB)
1
F_CTL
0
(LSB)
3
SEQ_ID
2
DF_Ctl
1
SEQ_CNT
3
0
3
(MSB)
OX_ID
2
(LSB)
4
1
RX_ID (FFFFh)
0
3
(MSB)
2
5
1
0
Parameter
(LSB)
R_CTL (Routing Control)
Set to Command Status for the FCP RSP frame.
156
Fibre Channel Interface Manual, Rev. A
D_ID (Destination Identifier)
The address of the initiator that originated the command.
S_ID (Source Identifier)
The address of the drive.
Type
08h
The value for all SCSI FCP frames.
F_CTL (Frame Control)
Set to 990000h for FCP RSP frames. This indicates the frame is sent by the responder of the exchange, not the originator,
the frame is the last frame of the sequence (FCP RSP is a single frame sequence for this drive), and the sequence is the
last for the Fibre Channel exchange.
SEQ_ID (Sequence Identifier)
Set to FFh by the drive.
DF_CTL (Data Field Control)
00h
Indicates no optional Fibre Channel headers are used.
SEQ_CNT (Sequence Count)
Set to 0000h to indicate this the first frame of the Fibre Channel sequence. The FCP RSP is a single frame sequence.
OX_ID (Originator Exchange Identifier)
The value assigned by the initiator in the FCP CMND. The OX_ID field uniquely identifies each command between the initiator and the drive.
RX_ID (Responder Identifier)
Not used by the drive. The value of FFFFh indicates the RX_ID is not being used.
Parameter
Not used for the FCP RSP.
Fibre Channel Interface Manual, Rev. A
157
Table 89:
Bit
Byte
0
FCP RSP Payload
7
6
5
4
3
2
1
0
(MSB)
:
Reserved
7
(LSB)
8
(MSB)
RETRY DELAY TIMER
9
(LSB)
10
BIDI
RESP
11
BIDI
READ
RESP
UNDERRUN
BIDI
READ
RESP
OVERRUN
CONF
REQ
Resid
Under Run
Resid
Over Run
Sense
Length
Valid
RSP
Length
Valid
SCSI Status Code
12
(MSB)
13
FCP_RESID
14
15
(LSB)
16
(MSB)
17
Sense Length (=n)
FCP_SNES_LEN
18
19
(LSB)
20
(MSB)
21
Response Length (=m)
FCP_RSP_LEN
22
23
(LSB)
24
:
23+m
(MSB)
24+m
:
23+m+n
(MSB)
24+m+n
:
27+m+n
(MSB)
Response Information (FCP_RESP_INFO) (m bytes long) (if any) (see table 90)
SCSI Sense Information (FCP_SENS_INFO) (n bytes long) (if any)
Bidirectional Read Residue FCP_BIDIRECTIONAL_READ_RESID (if any)
(LSB)
(LSB)
(LSB)
RETRY DELAY TIMER field
The RETRY DELAY TIMER field contains the retry delay timer code (see SAM-4).
FCP_BIDI_RSP bit
1
158
If the FCP_BIDI_RSP bit is set to one, the FCP_BIDIRECTIONAL_READ_RESID field is present, and the
FCP_BIDI_READ_RESID_OVER and FCP_BIDI_READ_RESID_UNDER bits are valid.
Fibre Channel Interface Manual, Rev. A
0
If the FCP_BIDI_RSP bit is set to zero, the FCP_BIDIRECTIONAL_READ_RESID field is not present, and the
FCP_BIDI_READ_RESID_OVER and the FCP_BIDI_READ_RESID_UNDER bits are not valid.
FCP_BIDI_READ_RESID_UNDER bit
1
If the FCP_BIDI_READ_RESID_UNDER bit is set to one, the FCP_BIDIRECTIONAL_READ_RESID field is valid
and contains the count of bytes that were expected to be transferred, but were not transferred. The application client
shall examine the FCP_BIDIRECTIONAL_READ_RESID FIELD field in the context of the command to determine
whether or not an error condition occurred.
FCP_BIDI_READ_RESID_OVER bit
1
f the FCP_BIDI_READ_RESID_OVER bit is set to one, the FCP_BIDIRECTIONAL_READ_RESID field is valid and
contains the count of bytes that were not transferred because the FCP_BIDIRECTIONAL_READ_DL value was not
large enough. The application client shall examine the FCP_BIDIRECTIONAL_READ_RESID FIELD field in the
context of the command to determine whether or not an error condition occurred.
FCP_CONF_REQ bit
1
If the FCP_CONF_REQ bit is set to one, the initiator FCP_Port shall transmit an FCP_CONF IU to confirm receipt of
the FCP_RSP Sequence. If the FCP_CONF_REQ bit is set to zero, the initiator FCP_Port shall not transmit an
FCP_CONF IU.
Resid Under Run (Residual Under Run)
1
The number of bytes transferred was less than the DL of the FCP CMND by the byte count in the Residual Count
field, bytes 12–15.
Resid Over Run (Residual Over Run)
1
The byte count in the Residual Count field, bytes 12–15, is the number of bytes not transferred because the length
of the transfer in the CDB exceeded the DL field in the FCP CMND.
Sense Length Valid
1
Additional SCSI sense information (extended sense data) is included in the payload. The length is given in the
Length of Sense Information field, bytes 16–19.
RSP Length Valid (Response Length Valid)
1
If the FCP_RSP_LEN_VALID bit is set to one, the FCP_RSP_INFO field contains valid information, the
FCP_RSP_LEN field is valid and non-zero and contains the count of bytes in the FCP_RSP_INFO field. The application client shall examine the FCP_RSP_INFO field to determine whether or not an error condition occurred. When
the FCP_RSP_LEN_VALID bit is set to one, the content of the SCSI STATUS CODE field is not reliable and shall be
ignored by the application client.
1
For task management functions transmitted to the logical unit using an FCP_CMND IU, the FCP_RSP_LEN_VALID
bit shall be set to one, the FCP_RSP_LEN field shall be set to the specified value, and the information in the
RSP_CODE field shall indicate the completion status of the task management function.
0
If the FCP_RSP_LEN_VALID bit is set to zero, the FCP_RSP_LEN field is not valid and shall be treated
as if its value were zero. When the FCP_RSP_LEN_VALID bit is set to zero, the FCP_RSP_INFO field
shall have a length of zero and shall not be present.
SCSI Status
The ending (returned) status for FCP CMND operations with a valid CDB field.
Value Definition
00h
Good. This status indicates that the target has successfully completed the command.
02h
Check Condition. Any error, exception, or abnormal condition that causes sense data to be sent, causes a
Check Condition status. The extended sense data the drive has regarding the nature of the condition will be in
the SCSI Sense Information in the FCP RSP frame with the Check Condition.
08h
Busy. The drive is busy. This status is returned whenever a drive is unable to process the command from an otherwise acceptable initiator. The normal initiator recovery action is to issue the command again at a later time.
10h
Intermediate. This status is returned for every command in a series of linked commands (except the last command), unless an error, exception or abnormal condition causes a Check Condition status, a Reservation Con-
Fibre Channel Interface Manual, Rev. A
159
flict status or a Command Terminated status to be set. If this status is not returned, the chain of linked
commands is broken; no further commands in the series are executed.
18h
Reservation Conflict. This status is returned whenever a SCSI device attempts to access a logical unit or an
extent within a logical unit that is reserved with a conflicting reservation type for another SCSI device (see
Reserve and Reserve Unit command). The normal initiator recovery action is to issue the command again at a
later time.
28h
Task Set (queue) Full. This status is implemented if tagged queuing is implemented. This status is returned
when a command is received and the command can not be accepted because the command queue is full. The
command is not executed.
30h
ACA Active. This status is returned when an auto contingent allegiance (ACA) exists with another initiator. The
initiator may reissue the command after the ACA condition has been cleared.
RESID (Residual ID)
For read operations and write operations, if the FCP_RESID_UNDER bit is set to one, the FCP_RESID field contains a
count of the number of residual data bytes that were not transferred in FCP_DATA IUs.
For read operations and write operations, if the FCP_RESID_OVER bit is set to one, the FCP_RESID field contains the
excess of the number of bytes required by the SCSI command to be transferred over the number of bytes specified by the
FCP_DL field.
For bidirectional SCSI commands, if the FCP_RESID_UNDER bit is set to one, the FCP_RESID field contains a count of
the number of residual data bytes that were not transferred in the Data-Out FCP_DATA IUs for the command.
For bidirectional SCSI commands, if the FCP_RESID_OVER bit is set to one, the FCP_RESID field contains the excess of
the number of bytes required to be transferred in the Data-Out FCP_DATA IUs by the command over the number of bytes
specified in the FCP_DL field.
For bidirectional SCSI commands, the FCP_BIDIRECTIONAL_READ_RESID field (see FCP-3 9.5.13) contains the corresponding count for Data-In FCP_DATA IUs.
Upon successful completion of an FCP I/O operation, the residual value is normally zero and the FCP_RESID value is not
valid. FCP devices having indeterminate data lengths may have a nonzero residual byte count after completing valid operations. There is no requirement to verify that the data length implied by the contents of the CDB does not cause an overrun
or underrun before beginning the processing of a SCSI command.
If the FCP_RESID_UNDER bit is set to one, a transfer that did not fill the buffer to the expected displacement FCP_DL was
performed and the value of FCP_RESID is defined as follows:
FCP_RESID = FCP_DL - (highest offset of any byte transmitted + 1)
A condition of FCP_RESID_UNDER may not be an error for some FCP devices and some commands.
If the FCP_RESID_OVER bit is set to one, refer to FCP-3 9.4.2 or 9.4.3. The FCP_RESID value is defined as follows:
FCP_RESID = (transfer length required by command) - FCP_DL
If the FCP_RESID_UNDER and the FCP_RESID_OVER bits are set to zero, the FCP_RESID field is not meaningful and
may have any value. The FCP_RESID field is always included in the FCP_RSP IU.
Note.
Some early implementations presented the FCP_RSP IU without the FCP_RESID, FCP_SNS_LEN, and
FCP_RSP_LEN fields if the FCP_RESID_UNDER, FCP_RESID_OVER, FCP_SNS_LEN_VALID, and
FCP_RSP_LEN_VALID bits were all set to zero. This non-standard behavior should be tolerated.
Length of Sense Information
1
The Length of Sense Information contains the byte length of the additional SCSI sense information in the frame.
The Length of Sense Information field is always transferred in the FCP RSP frame.
Length of Response Information
1
The Length of Response Information contains the byte length of the FCP response information in the frame. Valid
lengths for the response information are 0, 4, and 8. The Length of Response Information field is always transferred
in the FCP RSP frame.
Response Information
The FCP_RSP_INFO field contains information describing only the protocol failures detected during the processing of an
FCP I/O operation. If none of the specified protocol failures have occurred, the FCP_RSP_INFO field shall not be included
in the FCP_RSP IU and the FCP_RSP_LEN_VALID bit shall be zero. The FCP_RSP_INFO does not contain link error
information, since FC-FS-2 provides the mechanisms for presenting such errors. The FCP_RSP_INFO field does not contain SCSI logical unit error information, since that is contained in the FCP_SNS_INFO field as described in FCP-3 9.5.17.
160
Fibre Channel Interface Manual, Rev. A
The FCP_RSP_INFO field shall contain valid information if the target FCP_Port detects any of the conditions indicated by
an FCP RSP_CODE. The format of the FCP_RSP_INFO field is specified in table 90.
Table 90:
Bit
Byte (*)
0 (24)
:
2 (26)
Response Information format
7
6
4
3
2
1
0
(MSB)
Reserved
3 (27)
4 (28)
:
7 (31)
5
(LSB)
RESPONSE INFORMATION CODE
(MSB)
Reserved (optional)
(LSB)
*Fibre Channel frame byte number shown in parenthesis.
The valid Response Code values are shown in table
Table 91:
Response Code (RSP_CODE) Definitions
RSP_CODE definitions
Value
00h
Task Management function complete
01h
FCP_DATA length different than FCP_BURST_LEN
02h
FCP_CMND fields invalid
03h
FCP_DATA parameter mismatch with FCP_DATA_RO
04ha
Task Management function rejected
05ha
Task Management function failed
09ha
Task Management function incorrect logical unit number
06h - 08h
Reserved
0Ah - FFh
Reserved
a
Only valid when responding to task management functions
The completion status of the task management function is indicated by the RSP_CODE. If the Exchange is
aborted before the FCP_RSP IU is returned, the completion status is unknown. If the RSP_CODE is set to 05h
(i.e., Task Management function failed), the state of the logical unit is unknown.
Activities started by a task management function may continue after the FCP_RSP IU for the task management has been delivered.
SCSI Extended Sense Information
Additional information related to a Check Condition returned in the SCSI Status byte. See Table 92 on page 162.
Fibre Channel Interface Manual, Rev. A
161
11.5.1
Extended Sense Data format
The drive is capable of sending 18 bytes of extended sense data. The Extended Sense Data format is summarized in Table 92. The 1s and 0s shown in the tables below represent the logical 1s and 0s as sent by the disc
drive.
Table 92:
Disc Drive Extended Sense Data Summary
7
Bit
Byte (*)
0 (32)
6
5
4
Validity Bit
3
2
1
0
Error Code (70h or 71h)
1 (33)
Segment Number (00h)
2 (34)
Filemark
3 (35)
(MSB)
EOM
ILI
0
Sense Key
4 (36)
Information
5 (37)
6 (38)
(LSB)
7 (39)
Additional Sense Length 10 decimal (Max)
8 (40)
(MSB)
9 (41)
Command Specific Data
10 (42)
11 (43)
(LSB)
12 (44)
Additional Sense Code (ASC)
13 (45)
Additional Sense Code Qualifier (ASCQ)
14 (46)
Reserved for Seagate internal use only
15 (47)
SKSV
16 (48)
Sense Key Specific
17 (49)
18-n
Product Unique Sense Data
(50-n)
*Fibre Channel frame byte number shown in parenthesis.
If the Sense Key, Additional Sense Code and Additional Sense Code Qualifier combination is 04/8086 (a Read
IOEDC error, see clause 2 of the SCSI Command manual), bytes 14-17 are the four IOEDC words associated with
the IOEDC error.
Note.
Validity Bit
1
The Information bytes (Bytes 3–6) are valid.
0
The Information bytes (Bytes 3–6) are not valid.
Error Code
70h
Current error.
71h
Deferred error.
These two error conditions are described in Section 11.5.2.
Segment Number
Always zeros.
162
Fibre Channel Interface Manual, Rev. A
Filemark
Always zero (0) for disc drives.
EOM (End of Medium)
Always zero (0) for disc drives.
ILI (Incorrect Length Indicator)
The requested (previous command) block of data did not match the logical block length of the data on the medium.
Sense Key
General error category. These are listed in Table 97. The code given in byte 12 provides additional clarification of errors.
See the Additional Sense Code field definition for related information.
Information
If the validity bit is one (1), these bytes contain the unsigned logical block address associated with the sense key. Unless
otherwise specified, the Information bytes contain the address of the current logical block. For example, if the sense key is
Medium Error, it is the logical block address of the failure block.
Additional Sense Length 10 (Max)
Specifies additional sense bytes are to follow. This is limited to a maximum of 10 (decimal) additional bytes. If the Allocation
Length of the Command Descriptor Block is too small to transfer all of the additional sense bytes, the additional sense
length is not adjusted to reflect the truncation.
Command Specific Data
These four bytes contain data for the command.
Additional Sense Code and Additional Sense Code Qualifier
Provide additional clarification of errors when Sense Key is valid. Error code definitions are in the Seagate SCSI Command
manual clause 2. If the condition is not reportable by the disc drive, the Additional Sense Code and Additional Sense Code
Qualifier are set to No Additional Sense Information (Code 0000).
SKSV (Sense Key Specific Valid) and Sense Key Specific
The additional sense bytes field may contain command specific data, peripheral device specific data, or vendor-specific
data that further defines the nature of the Check Condition status. See Section 11.5.1.1.
The Sense Key Specific field is defined by this specification when the value of the SKSV bit is one (1). The definition of this
field is determined by the value of the Sense Key field. This field is reserved for sense keys described in Table 97.
Note.
During a format started by a Format Immediate command or a Device Self-test started by a Send Diagnostic command, bytes 16 and 17 become a progress indicator with values ranging from 0h to FFFFh. Value 0h indicates the
operation just started and FFFFh indicates the operation is complete.
Product Unique Sense Data
Not presently used.
Fibre Channel Interface Manual, Rev. A
163
11.5.1.1
Sense Key Specific Valid (SKSV) and Sense Key Specific
Refer to the appropriate tables in this section for sense key specific values.
Table 93:
Sense Key Specific reference tables
Sense Key field value
SKSV
Error description
See table
05h (Illegal Request)
1
These fields point to illegal parameters in command descriptor blocks
and data parameters sent by the initiator.
94
01h (Recovered Error)
04h (Hardware Error) or
03h (Medium Error)
1
These fields identify the actual number of retries used in attempting
to recover from the error condition.
95
02h (Not Ready)
1
These fields are only defined for the Format Unit command with the
Immed bit set to one (1).
96
Table 94:
Field Pointer bytes
7
6
15
SKSV
C/D
16
(MSB)
Bit
Byte
5
4
3
Reserved
2
BPV
1
0
Bit Pointer
Field Pointer
17
(LSB)
SKSV (Sense Key Specific Valid)
This bit indicates whether the sense key specific data is valid.
0
Data is not valid.
1
Data is valid. See Table 93.
C/D (Command Data)
1
The illegal parameter is in the command descriptor block.
0
The illegal parameter is in the data parameters sent by the initiator.
BPV (Bit Pointer Valid) and Bit Pointer
0
The value in the bit pointer field is not valid.
1
The bit pointer field specifies the bit of the byte designated by the field pointer that is in error. When a multiple-bit
field is in error, the bit pointer field points to the most significant (left-most) bit of the field.
Field Pointer
The byte of the command descriptor block or of the parameter data that was in error. Bytes are numbered starting from
zero, as shown in the tables describing the commands and parameters. When a multiple-byte field is in error, the pointer
points to the most significant (left-most) byte of the field.
Note.
Bytes identified as being in error are not necessarily the place that has to be changed to correct the problem.
Table 95:
Bit
Byte
Actual Retry Count bytes
7
15
SKSV
16
(MSB)
17
164
6
5
4
3
2
1
0
Reserved
Actual Retry Count
(LSB)
Fibre Channel Interface Manual, Rev. A
SKSV (Sense Key Specific Valid)
This bit indicates whether the sense key specific data is valid.
0
Data is not valid.
1
Data is valid. See Table 93.
Actual Retry Count
Returns implementation-specific information on the actual number of retries used in attempting to recover an error or
exception condition.
Note.
This field relates to the retry count fields specified within the Verify Error Recovery Page (07h) parameters of the
Mode Select command. See SCSI Command Reference Manual, 100293068, Section 1.13.6.
Table 96:
Format Indication bytes
7
Bit
Byte
15
SKSV
16
(MSB)
6
5
4
3
2
1
0
Reserved
Progress Indication
17
(LSB)
SKSV (Sense Key Specific Valid)
This bit indicates whether the sense key specific data is valid.
0
Data is not valid.
1
Data is valid. See Table 93.
Progress Indication
Percent complete indication in which the returned value is the numerator that has 65536 (10000h) as its denominator. The
progress indication is based upon the total format operation including any certification or initialization operations.
Support or non-support for format progress indication is given in individual drive’s Product Manual, Volume 1.
Note.
Bytes 18–n are not presently used.
Table 97 lists the sense keys in the extended sense data format that are used by the disc drive.
Table 97:
Sense
Key
Applicable disc drive sense keys
Description
0h
No Sense: There is no specific sense key information to be reported for the disc drive. This
would be the case for a successful command or when the ILI bit = 1.
1h
Recovered Error: The last command completed successfully with some recovery action performed by the disc drive. When multiple recovered errors occur, the last error that occurred is
reported by the additional sense bytes. Note: For some Mode settings, the last command may
have terminated before completing.
2h
Not Ready: Indicates the logical unit addressed cannot be accessed. Operator intervention may
be required to correct this condition.
3h
Medium Error: Indicates the command terminated with a nonrecovered error condition, probably
caused by a flaw in the medium or an error in the recorded data.
4h
Hardware Error: Indicates the disc drive detected a nonrecoverable hardware failure while performing the command or during a self-test. This includes controller failure, device failure, etc.
Fibre Channel Interface Manual, Rev. A
165
Table 97:
Sense
Key
5h
6h
Applicable disc drive sense keys
Description
Illegal Request: Indicates an illegal parameter in the command descriptor block or in the additional parameters supplied as data for some commands (Format Unit, Mode Select, etc.). If the
disc drive detects an invalid parameter in the Command Descriptor Block, it terminates the command without altering the medium. If the disc drive detects an invalid parameter in the additional
parameters supplied as data, the disc drive may have already altered the medium. This sense
key may also indicate that an invalid Identify message was received. This could also indicate an
attempt to write past the last logical block.
Unit Attention: Indicates the disc drive may have been reset. See SCSI Command Reference
Manual, 100293068, Section 1.13.1 for more detailed information about the Unit Attention
condition.
7h
Data Protect: Indicates that a command that reads or writes the medium was attempted on a
block that is protected from this operation. The read or write operation is not performed.
9h
Firmware Error: Vendor-specific sense key.
Bh
Aborted Command: Indicates the disc drive aborted the command. The initiator may be able to
recover by trying the command again.
Ch
Equal: Indicates a Search Data command has satisfied an equal comparison.
Dh
Volume Overflow: Indicates a buffered peripheral device has reached the end of medium partition and data remains in the buffer that has not been written to the medium.
Eh
Miscompare: Indicates that the source data did not match the data read from the medium.
Additional sense, and additional sense qualifier codes are found in the SCSI Command manual Seagate Publication Number 100293068.
11.5.2
Current and deferred errors
Error code 70h (current error) indicates that the Check Condition or Command Terminated status returned is
the result of an error or exception condition on the command that returned the Check Condition or Command
Terminated. This includes errors generated during execution of the command by the actual execution process.
It also includes errors not related to any command that are first observed during execution of a command.
Examples of this latter type of error include disc servo-mechanism off-track errors and power-up test errors.
Error code 71h (deferred error) indicates that the Check Condition status returned is the result of an error or
exception condition that occurred during execution of a previous command for which Good status has already
been returned. Such commands are associated with use of the Immediate bit (start unit), with some forms of
caching, and with multiple command buffering.
The deferred error is indicated by returning Check Condition status to the appropriate initiator as described
below. The subsequent execution of a Request Sense command returns the deferred error sense information.
If Check Condition status for a deferred error is returned, the current command has not performed any storage
operations or output operations to the media. After the target detects a deferred error condition on a logical
unit, it returns a deferred error according to the rules described below:
1. If a deferred error can be recovered with no external system intervention, a deferred error indication is not
posted unless required by the error handling parameters of the Mode Select command. The occurrence of
the error may be logged if statistical or error logging is supported.
2. If a deferred error can be associated with a causing initiator and with a particular function or a particular
subset of data, and the error is either unrecovered or required to be reported by the mode parameters, a
deferred error indication is returned to the causing initiator. If an initiator other than the causing initiator
166
Fibre Channel Interface Manual, Rev. A
attempts access to the particular function or subset of data associated with the deferred error, a Busy status is returned to that initiator in response to the command attempting the access.
Note.
Not all devices may be sufficiently sophisticated to identify the function or data that has failed.
Those that cannot should treat the error in the following manner:
If a deferred error cannot be associated with a causing initiator or with a particular subset of data, a
deferred error indication is returned on behalf of the failing logical unit to each initiator. If multiple
deferred errors have accumulated for some initiators, only the last error is returned.
3. If a current command has not yet started executing, and a deferred error occurs, the command is terminated with Check Condition status and deferred error information posted in the sense data. If a deferred
error occurs while a current command is executing and the current command has been affected by the
error, the command is terminated by Check Condition status and current error information is returned in the
sense data. In this case, if the current error information does not adequately define the deferred error condition, a deferred error may be returned after the current error information has been recovered. If a
deferred error occurs while a current command is executing and the current command completes successfully, the target may choose to return the deferred error information after the completion of the current command.
Deferred errors may indicate that an operation was unsuccessful long after the command performing the data
transfer returned Good status. If data that cannot be replicated or recovered from other sources is being stored
using such buffered write operations, synchronization commands should be performed before the critical data
is destroyed in the host initiator. This is necessary to be sure that recovery actions can be taken if deferred
errors do occur in the storing of the data. The synchronizing process provides the necessary commands to
allow returning Check Condition status and subsequent returning of deferred error sense information after all
buffered operations are guaranteed to be complete.
11.6
Parameter rounding
Certain parameters sent to a target with various commands contain a range of values. Targets may choose to
implement only selected values from this range. When the target receives a value that it does not support, it
either rejects the command (Check Condition status with Illegal Request sense key) or it rounds the value
received to a supported value. The target rejects unsupported values unless rounding is permitted in the
description of the parameter.
To enabled rounding, set Mode Select command, page code 00h, byte 2, bit 2.
Rounding of parameter values, when permitted, is performed as described below.
A target that receives a parameter value that is not an exact supported value adjusts the value to one that it
supports and returns Check Condition status with a sense key of Recovered Error. The additional sense code
is set to Rounded Parameter. The initiator is responsible for issuing an appropriate command to learn what
value the target has selected.
Implementor: Generally, the target should adjust maximum-value fields down to the next lower supported value
than the one specified by the initiator. Minimum value fields should be rounded up to the next higher supported
value that the one specified by the initiator. In some cases, the type of rounding (up or down) is explicitly specified in the description of the parameter.
Fibre Channel Interface Manual, Rev. A
167
168
Fibre Channel Interface Manual, Rev. A
12.0
Drive features
This section describes several features included for disc drives. Refer to the individual drive’s product manual
to determine if your drive supports these features.
12.1
Self-Monitoring Analysis and Reporting Technology
Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.) is designed to recognize conditions that indicate imminent drive failure and provide sufficient warning to the host system of impending failure. The host
system may use the information provided to trigger it to perform diagnostic, preventative, and/or protective
functions (e.g., data backup).
The initiator sets up the parameters for S.M.A.R.T. operation using Mode Select Informational Exceptions Control page 1Ch. The drive reports information about S.M.A.R.T. operation using Request Sense Additional
Sense Code 5D 00 and Mode Sense data page 1Ch. Refer to SCSI Command Reference Manual, 100293068,
sections 1.11, 1.12, 1.13, and 1.14 for descriptions of the Mode Select and Mode Sense commands. Refer to
SCSI Command Reference Manual, 100293068, Section 1.16 for details on the Informational Exceptions Control page. Refer to the individual drive’s product manual to determine if your particular drive supports
S.M.A.R.T. and the extent of its implementation of the S.M.A.R.T. system.
12.2
Self-test operations
Default Self-test (DST) technology is part of a system to recognize drive fault conditions that qualify it for return
to Seagate. If the drive fails the test, remove it from service.
12.2.1
Default self-test
The default self-test is mandatory for all device types that support the Send Diagnostics command. The
response is simply a Good status if the test is successful or a Check Condition status if the test fails. Additional
status is available in the Default Self-test Diagnostics Results page by using the Receive Diagnostic Results
command (see SCSI Command Reference Manual, 100293068, Section 1.33).
12.2.2
Short and extended device self-tests
There are two optional types of device self-test that may be invoked using the Self-test Code field in the Send
Diagnostics command: a short test and an extended test. The goal of the short device self-test is to quickly
identify if the logical unit is faulty. A goal of the extended device self-test routine is to simplify factory testing
during integration by having logical units perform more comprehensive testing without application client intervention. A second goal of the extended device self-test is to provide a more comprehensive test to validate the
results of a short device self-test if its results are judged by the application client to be inconclusive.
The criteria for the short device self-test are that it has one or more segments and completes in two minutes or
less. The criteria for the extended device self-test are that it has one or more segments and that the completion
time is vendor-specific. Any tests performed in the segments are vendor-specific.
Fibre Channel Interface Manual, Rev. A
169
The following are examples of segments:
a. An electrical segment wherein the logical unit tests its own electronics. The tests in this segment are vendor
specific, but some examples of tests that might be included are: a read/write circuitry test and/or a test of
the read/write head elements;
b. A seek/servo segment wherein a device tests its capability to find and servo on data tracks; and
c. A read/verify scan segment wherein a device performs read scanning of some or all of the medium surface.
The tests performed in the segments may be the same for the short and extended device self-tests. The time
required by a logical unit to complete its extended device self-test is reported in the Extended Self-test Completion Time field in the Control Mode page (see SCSI Command Reference Manual, 100293068, Section
1.13.8).
12.2.3
Device self-test modes
There are two modes for short and extended self-tests: a foreground mode and a background mode. These
modes are described in the following sections.
12.2.3.1
Foreground mode
When a device server receives a Send Diagnostics command specifying a self-test to be performed in the foreground mode, the device server returns status for that command after the self-test has been completed. Not all
Seagate drives support this mode.
While performing a device self-test in foreground mode, the device server responds to all commands except
Inquiry, Report LUNs, and Request Sense with a Check Condition status, a sense key of Not Ready and an
additional sense code of Logical Unit Not Ready, Self-test In Progress.
If a device server is performing a device self-test in the foreground mode and a test segment error occurs during the test, the device server updates the Device Self-test results log page (see SCSI Command Reference
Manual, 100293068, Section 1.10.4) and reports Check Condition status with a sense key of Hardware Error
and an additional sense code of Logical Unit Failed Self-test. The application client may obtain additional information about the failure by reading the Device Self-test Results log page. If the device server is unable to
update the Self-test Results log page, it returns a Check Condition status with a sense key of Hardware Error
and an additional sense code of Logical Unit Unable To Update Self-test Log.
An application client should reserve the logical unit before initiating a device self-test in the foreground mode.
An application client may terminate a device self-test that is being performed in the foreground mode using an
Abort Task, Abort Task Set, or Clear Task Set task management function. If a task manager receives an Abort
Task, Abort Task Set, or Clear Task Set task management function while performing a device self-test in the
foreground mode, it aborts the device self-test and updates the Device Self-test Results log page (see SCSI
Command Reference Manual, 100293068, Section 1.10.4).
12.2.3.2
Background mode
When a device server receives a Send Diagnostics command specifying a device self-test to be performed in
the background mode, the device server returns status for that command as soon as the command descriptor
block has been validated.
After returning status for the Send Diagnostics command specifying a self-test to be performed in the background mode, the device server shall initialize the Device Self-test Results log page (see SCSI Command Reference Manual, 100293068, Section 1.10.4) as follows. The self-test code from the Send Diagnostics
command shall be placed in the Self-test Code field in the log page. The Self-test Results field shall be set to
Fh. After the Self-test results log page is initialized, the device server shall begin the first self-test segment.
170
Fibre Channel Interface Manual, Rev. A
While the device server is performing a self-test in the background mode, it shall terminate with a Check Condition status any Send Diagnostics command it receives that meets one of the following criteria:
a. The Self-test bit is one; or
b. The Self-test Code field contains a value other than 000b or 100b.
When terminating the Send Diagnostics command, the sense key is set to Not Ready and the additional sense
code is set to Logical Unit Not Ready, Self-test In Progress.
While performing a device self-test in the background mode, the device server suspends the device self-test to
service any other commands received with the exceptions listed below.
Exception commands for background self-tests
• Send Diagnostics (with Self-test Code field set to 100b)
• Write Buffer (with the mode set to any download microcode option)
• Format Unit
• Start/Stop Unit (stop only)
Suspension of the device self-test to service the command occurs as soon as possible, but should never take
longer than two seconds.
If one of the exception commands listed above is received, the device server shall abort the self-test, update
the self-test log, and service the command as soon as possible but not longer than two seconds after the command descriptor block has been validated.
Note.
An application client may terminate a self-test that is being performed in the background mode by
issuing a Send Diagnostics command with the Self-test Code field set to 100b (Abort background
self-test function).
12.2.3.3
Elements common to foreground and background self-test modes
The Progress Indication field returned in response to a Request Sense command (see SCSI Command Reference Manual, 100293068, Section 1.38) may be used by the application client at any time during execution of
a device self-test to poll the logical unit’s progress. While executing a self-test (unless an error has occurred),
the device server responds to a Request Sense command by returning a sense key of Not Ready and an additional sense code of Logical Unit Not Ready, Self-test In Progress with the sense key specific bytes set for
progress indication.
The application client may obtain information about the twenty most recently completed device self-tests by
reading the Device Self-test Results log page (see SCSI Command Reference Manual, 100293068, Section
1.10.4). This is the only method an application client can use to obtain information about self-tests performed in
the background mode.
Table 98 summarizes when a logical unit returns status after receipt of a self-test command, how an application
client may abort a device self-test, how a logical unit handles new commands that are received while a device
self-test is in progress, and how a logical unit reports a device self-test failure.
Fibre Channel Interface Manual, Rev. A
171
Table 98:
Device Self-test mode summary
When
status is
returned
How to abort
the Device
Self-test
Processing of subsequent
commands while Device Self-test
is executing
Foreground
After the
self-test is
complete
Abort Task task
management
function
If the command is Inquiry, Report
LUNs, or Request Sense, process
normally. Otherwise, terminate with
Check Condition status, Not Ready
sense key, and Logical Unit Not
Ready, Self-test In Progress additional sense code.
Terminate with Check Condition status, Hardware Error sense key, and
Logical Unit Failed Self-test or Logical Unit Unable To Update Self-test
Log additional sense code.
Background
After the
CDB is
validated
Send Diagnostics command
with Self-test
Code field set
to 100b
Process the command, except as
described in 12.2.3.2.
Application client checks Device Selftest results log page (see SCSI
Mode
172
Device Self-test failure reporting
Command Reference Manual,
100293068, Section 1.10.4) after
the Progress Indication field returned
from Request Sense indicates the
self-test is complete.
Fibre Channel Interface Manual, Rev. A
13.0
Seagate Technology support services
Online services
Internet
www.seagate.com for information about Seagate products and services. Worldwide support is available 24
hours daily by e-mail for your questions.
Presales Support: www.seagate.com/support/email/email_presales.html or [email protected]
Technical Support: www.seagate.com/support/email/email_disc_support.html or [email protected]
mySeagate
my.seagate.com is the industry’s first Web portal designed specifically for OEMs and distributors. It provides
self-service access to critical applications, personalized content and the tools that allow our partners to manage their Seagate account functions. Submit pricing requests, orders and returns through a single, passwordprotected Web interface—anytime, anywhere in the world.
spp.seagate.com
spp.seagate.com supports Seagate resellers with product information, program benefits and sales tools. You
may register for customized communications that are not available on the web. These communications contain
product launch, EOL, pricing, promotions and other channel-related information. To learn more about the benefits or to register, go to spp.seagate.com, any time, from anywhere in the world.
Seagate Service Centers
Presales Support
Our Presales Support staff can help you determine which Seagate products are best suited for your specific
application or computer system, as well as drive availability and compatibility.
Technical Support
If you need help installing your drive, consult your system's documentation or contact the dealer's support services department for assistance specific to your system. Seagate technical support is also available to assist
you online at support.seagate.com or through one of our call centers. Have your system configuration information and your drive’s “ST” model number available.
SeaTDD™ (+1-405-324-3655) is a telecommunications device for the deaf (TDD). You can send questions or
comments 24 hours daily and exchange messages with a technical support specialist during normal business
hours for the call center in your region.
Fibre Channel Interface Manual, Rev. A
173
Customer Service Operations
Warranty Service
Seagate offers worldwide customer support for Seagate drives. Seagate distributors, OEMs and other direct
customers should contact their Seagate Customer Service Operations (CSO) representative for warrantyrelated issues. Resellers or end users of drive products should contact their place of purchase or one of the
Seagate CSO warranty centers for assistance. Have your drive’s “ST” model number and serial number available.
Data Recovery Services
Seagate offers data recovery services for all formats and all brands of storage media. Our Data Recovery Services labs are currently located in North America. To get a free quick quote or speak with a case management
representative, call 1-800-475-0143. Additional information, including an online request form and data loss prevention resources, is available at www.datarecovery.seagate.com.
Authorized Service Centers
In some locations outside the US, you can contact an Authorized Service Center for service.
USA/Canada/Latin America support services
Seagate Service Centers
Presales Support
Call center
Americas
Toll-free
1-877-271-32851
Direct dial
+1-405-324-47301
FAX
+1-405-324-4704
Toll-free
1-800-SEAGATE2
Direct dial
+1-405-324-47002
FAX
+1-405-324-3339
Toll-free
1-800-468-34723
Direct dial
—
FAX / E-mail
+1-956-664-4725
—
+55-11-4191-4761
+55-11-4191-5084
[email protected]
Toll-free
1-800-475-01435
Direct dial
+1-905-474-2162
FAX
1-800-475-0158
+1-905-474-2459
Technical Support
Call center
Americas
Customer Service Operations
Warranty Service
Call center
USA, Canada, Mexico and
Latin America
Brazil
Jabil Industrial Do Brasil
LTDA4
Data Recovery Services
Call center
USA, Canada,
and Mexico
1Hours
of operation are 8:00 A.M. to 6:00 P.M., Monday through Friday (Central time).
of operation are 8:00 A.M. to 8:00 P.M., Monday through Friday (Central time).
3Hours of operation are 8:00 A.M. to 5:00 P.M., Monday through Friday (Central time).
4Authorized Service Center
5Hours of operation are 8:00 A.M. to 8:00 P.M., Monday through Friday, and 9:00 A.M. to 5:00 P.M., Saturday (Eastern time).
2Hours
174
Fibre Channel Interface Manual, Rev. A
European support services
For presales and technical support in Europe, dial the Seagate Service Center toll-free number for your specific location. If your location is not listed here, dial our presales and technical support call center at +1-405324-4714 from 8:00 A.M. to 11:45 A.M. and 1:00 P.M. to 5:00 P.M. (Central Europe time) Monday through Friday.
The presales and technical support call center is located in Oklahoma City, USA.
For European warranty service, dial the toll-free number for your specific location. If your location is not listed
here, dial our European CSO warranty center at +31-20-316-7222 from 8:30 A.M. to 5:00 P.M. (Central Europe
time) Monday through Friday. The CSO warranty center is located in Amsterdam, The Netherlands.
Seagate Service Centers
Toll-free support numbers
Call center
Austria
Belgium
Denmark
France
Germany
Ireland
Italy
Netherlands
Norway
Poland
Spain
Sweden
Switzerland
Turkey
United Kingdom
Presales and Technical Support
—
00 800-47324283 (00 800-4SEAGATE)
00 800-47324283
00 800-47324283
00 800-47324283
00 800-47324283
00 800-47324283
00 800-47324283
00 800-47324283
00 800-311 12 38
00 800-47324283
00 800-47324283
00 800-47324283
00 800-31 92 91 40
00 800-47324283
Warranty Service
00 800-47324289
00 800-47324289
00 800-47324289
00 800-47324289
00 800-47324289
00 800-47324289
00 800-47324289
00 800-47324289
00 800-47324289
00 800-311 12 38
00 800-47324289
00 800-47324289
00 800-47324289
00 800-31 92 91 40
00 800-47324289
FAX services—All Europe (toll call)
Technical Support
Warranty Service
+1-405-324-3339
+31-20-653-3513
Africa/Middle East support services
For presales and technical support in Africa and the Middle East, dial our presales and technical support call
center at +1-405-324-4714 from 8:00 A.M. to 11:45 A.M. and 1:00 P.M. to 5:00 P.M. (Central Europe time) Monday through Friday. The presales and technical support call center is located in Oklahoma City, USA.
For warranty service in Africa and the Middle East, dial our European CSO warranty center at +31-20-3167222 from 8:30 A.M. to 5:00 P.M. (Central Europe time) Monday through Friday, or send a FAX to +31-20-6533513. The CSO warranty center is located in Amsterdam, The Netherlands.
Fibre Channel Interface Manual, Rev. A
175
Asia/Pacific support services
For Asia/Pacific presales and technical support, dial the toll-free number for your specific location. The Asia/
Pacific toll-free numbers are available from 6:00 A.M. to 10:45 A.M. and 12:00 P.M. to 6:00 P.M. (Australian Eastern time) Monday through Friday, except as noted. If your location is not listed here, direct dial one of our technical support locations.
Warranty service is available from 9:00 A.M. to 6:00 P.M. April through October, and 10:00 A.M. to 7:00 P.M.
November through March (Australian Eastern time) Monday through Friday.
Seagate Service Centers
Call center
Australia
China (Mandarin)1, 4
Hong Kong
Hong Kong (Cantonese)1, 4
India2, 4
Indonesia
Japan3, 4
Korea3, 4
Malaysia
New Zealand
Singapore
Taiwan (Mandarin)1, 4
Thailand
Toll-free
1800-14-7201
800-810-9668
800-90-0474
001-800-0830-1730
1-800-180-1104
001-803-1-003-2165
0034 800 400 554
007 98 8521 7635
1-800-80-2335
0800-443988
800-1101-150
00-800-0830-1730
001-800-11-0032165
Direct dial
—
+86-10-6225-5336
—
—
—
—
—
—
—
—
—
—
—
FAX
—
—
—
—
—
—
—
—
—
—
+65-6488-7525
—
—
Direct dial
+65-6485-3595
—
+91-44-821-6164
FAX
+65-6485-4860
—
+91-44-827-2461
Customer Service Operations
Warranty Service
Call center
Asia/Pacific
Australia
India4
Toll-free
—
1800-12-9277
—
1Hours
of operation are 8:30 A.M. to 5:30 P.M., Monday through Friday (Australian Western time).
of operation are 9:00 A.M. to 6:00 P.M., Monday through Saturday.
3Hours of operation are 9:30 A.M. to 6:30 P.M., Monday through Friday.
4
Authorized Service Center
2Hours
176
Fibre Channel Interface Manual, Rev. A
Publication feedback survey
We are interested in your comments and suggestions regarding this publication. Please take a few minutes to
participate in our survey at the following URL:
http://survey.seagate.com/survey/techpubs.nsf
Thank you for your time and comments.
Fibre Channel Interface Manual, Rev. A
177
178
Fibre Channel Interface Manual, Rev. A
Appendix A.
Glossary
This section contains a glossary of terms used in this publication.
ABTS
Abort Sequence.
ABTX
Abort Exchange.
ACC
Accept.
ACK
Acknowledgment.
Active
The state of Sequence Initiator until all the Data frames for the Sequence have been transmitted. The state of Sequence
Recipient until all the Data frames for the Sequence have been received. The period of time during which frames of a
Sequence (or an Exchange) are actively being transmitted or received.
Active Virtual Circuit Credit limit
The maximum number of VC_Credits available for a Virtual Circuit in the Active state. It represent the maximum number of
VC_Credits held by an N_Port on a given Virtual Circuit when the Circuit is in the active state.
Address identifier
An address value used to identify source (S_ID) or destination (D_ID) of a frame.
ADVC
Advise Credit.
Alias
Alias is a group address recognized by an N_Port if the N_Port has registered as a member of the group, with the Alias
Server.
Alias address identifier (alias)
One or more address identifiers which may be recognized by an N_Port in addition to its N_Port Identifier. An alias address
identifier is Fabric unique and may be common to multiple N_Ports.
Alias_Token
A 12-byte field to indicate the type of Alias (such as Multicast, Hunt Group) and certain properties associated with the Alias
(such as FC-PH TYPE, Node Name for the Common Controlling Entity).
Application client
An object that is the source of SCSI commands.
Application client buffer offset
Offset in bytes from the start or base address of the application client’s data buffer to the location for the transfer of the first
byte of a data delivery service request.
Arbitrated loop topology
A topology where L_Ports use arbitration to establish a point-to-point circuit. A configuration that allows multiple ports to be
connected serially.
Attenuation
The transmission medium power loss expressed in units of dB.
Available BB_Credit
Fibre Channel Interface Manual, Rev. A
179
Also called “Available buffer-to-buffer credit.” A transmitter uses this variable to determine permission to transmit frames,
and if so, the allowable number of frames to transmit. The transmitter may transmit a frame when the Available BB_ Credit
value is greater than 0. The rules for modifying Available BB_Credit are:
(a)
in an OPN Initiator, Available BB_Credit may be initialized to a value less than or equal to the Login_BB_Credit of the
OPN Recipient upon transmission of any OPN;
(b)
in an OPN Recipient (acting as a Sequence Initiator), Available BB_Credit may be initialized to a value less than or
equal to Login_BB_Credit of the OPN Initiator (acting as a Sequence Recipient) upon receipt of a full duplex OPN;
(c)
Available BB_Credit is decremented upon transmission of a frame;
(d)
Available BB_Credit is incremented upon receipt of R_RDY, except that following an OPN to or from a Sequence
Recipient with Login_BB_Credit>0, one R_RDY is discarded for each frame sent until the number of R_RDYs discarded equals the Login_BB_Credit value.
Available_receive_buffers
In class 3, the number of buffers in a receiving port which are available for receiving frames at link rate. Equal to the largest
number of R_RDYs an NL_port can issue immediately upon transmission or receipt of an OPN. BB Flow control rules keep
this number greater than or equal to the Available BB_Credit variable in a transmitting port. The number of available
receive buffers must be greater than or equal to Login_BB_Credit upon receipt of any OPN.
Bandwidth
Maximum effective transfer rate for a given set of physical variants such as communication model, Payload size, Fibre
speed, and overhead specified by FC-PH.
Base address
The address of the lowest address byte to be transferred to or from an application client buffer.
Baud
The encoded bit rate per second.
BB Credit_CNT
Buffer-to-buffer Credit_Count.
BB_buffer
The buffer associated with buffer-to-buffer flow control.
BB_Credit
Buffer-to-buffer Credit.
Beginning Running Disparity
The Running Disparity present at a transmitter when Encoding of the Special Code associated with an Ordered Set is initiated, or at a receiver when Decoding of the Special Character associated with an Ordered Set is initiated.
BER
See Bit error rate.
Bit error rate (BER)
The statistical probability of a transmitted bit being erroneously received in a communication system. The BER is measured
by counting the number of erroneous bits at the output of a receiver and dividing by the total number of bits.
Bit synchronization
The state in which a receiver is delivering retimed serial data at the required BER.
Block
A upper level construct of application data related to a single Information Category and transferred within a single
Sequence.
180
Fibre Channel Interface Manual, Rev. A
BNC
Acronym for a Bayonet-Neil-Councilman Coaxial Cable Connector. Specifications for BNC style connectors are defined in
EIA/TIA 403-A and MIL-C-39012.
BSY
Busy.
Buffer
A logical construct which holds the contents of a single frame.
Byte
An eight-bit entity with its least significant bit denoted as bit 0 and most significant bit as bit 7. The most significant bit is
shown on the left side in FC-PH, unless specifically indicated otherwise. Bytes are packed four per 32-bit word, or eight per
64-bit word.
Cable plant
All passive communications elements (e.g., optical fibre, twisted pair, or coaxial cable, connectors, splices, etc.) between a
transmitter and a receiver.
CATV
Central Antenna Television.
CClTT
Comite Consultatif International, Telegraphique et Telephonique (see ITV-TS).
CDB
Command descriptor block.
Center wavelength (LED)
The average of the two wavelengths measured at the half amplitude points of the power spectrum.
Centre wavelength (laser)
The nominal value of the central wavelength of the operating, modulated laser. This is the wavelength where the effective
optical power resides.
Character
Any Transmission Character associated by FC-1 transmission code with a FC-2 data byte or special code. Transmission
characters are generated and interpreted only by FC-1.
Circuit
A bidirectional path within the Fabric.
Class 1 service
A service which establishes a dedicated connection between communicating N_Ports.
Class 2 service
A service which multiplexes frames at frame boundaries to or from one or more N_Ports with acknowledgement provided.
Class 3 service
A service which multiplexes frames at frame boundaries to or from one or more N_Ports without acknowledgement.
Class 4 bidirectional circuits
A pair of unidirectional virtual circuits between two communicating N_Ports.
Class 4 Circuit Initiator
The N_Port which initiates the setup of a Class 4 circuit.
Fibre Channel Interface Manual, Rev. A
181
Class 4 Circuit Recipient
The N_Port which accepts a Class 4 circuit with the Originator N_Port.
Class 4 end-to-end credit limit
The maximum amount of end-to-end credit available for a virtual circuit. It represents the maximum number of Class 4 endto-end credit held by an N_Port on a given virtual circuit.
Class 4 service
A service that establishes virtual circuits to provide fractional bandwidth service between communicating N_Ports. The service multiplexes frames at frame boundaries to or from one or more N_Ports with acknowledgment provided.
Class l/SOFcl
Class 1 frame with a SOFcl delimiter.
Classes of service
Different types of services provided by the Fabric and used by the communicating N_Ports.
Code balance
The numerical sum of the 1 bits in any 10 bits in the transmitted bit stream divided by 10 (e.g., 1110100011 has a code balance of 6/10 = 60%).
Code bit
The smallest time period used by FC-0 for transmission on the media.
Code violation
An error condition that occurs when a received transmission character cannot be decoded to a valid data byte or special
code using the validity checking rules specified by the transmission code.
Comma
The seven bit sequence 0011111 or 1100000 in an encoded stream.
Comma character
A special character containing a comma.
Command
A request describing a unit of work to be performed by a device server.
Command byte count
Upper limit on the extent of the data to be transferred by the SCSI command.
Command descriptor block (CDB)
A structure up to 16 bytes in length used to communicate a command from an application client to a device server.
Concatenation
A logical operation that “joins together” strings of data. This operation is represented with the symbol “||”. Two or more fields
are concatenated to provide a reference of uniqueness (e.g., S_ID||X_ID).
Connection
See Dedicated Connection.
Connection initiator
The source N_Port which initiates a Class 1 connection with a destination N_Port through a connection request and also
receives a valid response from the destination N_Port to complete the connection establishment.
Connection recipient
The destination N_Port which receives a Class 1 connect-request from the connection Initiator and accepts establishment
of the connection by transmitting a valid response.
182
Fibre Channel Interface Manual, Rev. A
Connection-oriented frames
Frames sent in either a Class 1 dedicated connection or a Class 4 circuit.
Connectionless buffers
Receive buffers participating in connectionless service and capable of receiving connectionless frames.
Connectionless frames
Frames participating in connectionless service (i.e., Class 1 frames with SOFc1, Class 2, and Class 3 frames referred to
individually or collectively).
Connectionless service
Communication between two N_Ports performed without a dedicated connection.
Continuously increasing relative offset
The relationship specified between relative offset values contained in frame (n) and frame (n+1) of an information category
within a single Sequence.
COR
Camp-On Request.
Credit
The maximum number of receive buffers allocated to a transmitting N_Port or F_Port. It represents the maximum number
of outstanding frames which can be transmitted by that N_Port or F_Port without causing a buffer overrun condition at the
receiver.
Credit_CNT
Credit Count.
CTI
Circuit Initiator.
CTR
Circuit Recipient.
Current running disparity
The running disparity present at a transmitter when Encoding of a valid data byte or special code is initiated, or at a receiver
when decoding of a transmission character is initiated.
D_ID
Destination_Identifier.
Data character
Any transmission character associated by the transmission code with a valid data byte.
Data frame
A frame containing information meant for FC-4/ULP or the link application.
Data out delivery service
A confirmed service used by the device server to request the transfer of data from the application client.
dB
Decibel.
dBm
Decibel (relative to 1 mw power).
Fibre Channel Interface Manual, Rev. A
183
Decoding
Validity checking of received transmission characters and generation of valid data bytes and special codes from those characters.
Dedicated connection
A communicating circuit guaranteed and retained by the Fabric for two given N_Ports.
Dedicated duplex
A synonym for Class 1 dedicated connection.
Dedicated simplex
A unidirectional Class 1 connection with ACKs transmitted in Class 2.
Delimiter
An ordered set used to indicate a frame boundary.
Destination N_Port
The N_Port to which a frame is targeted.
Destination_Identifier (D_ID)
The address identifier used to indicate the targeted destination of the transmitted frame.
Device server
An object within the logical unit which executes SCSI tasks and enforces the rules for task management.
DF_CTL
Data Field Control.
Discard policy
An error handling policy where an N_Port is able to discard data frames received following detection of a missing frame in
a sequence.
Disparity
The difference between the number of ones and zeros in a transmission character.
Dispersion
A term used to denote pulse broadening and distortion. The two general categories of dispersion are modal dispersion, due
to the difference in the propagation velocity of the propagation modes in a multimode fibre, and chromatic dispersion, due
to the difference in propagation of the various spectral components of the optical source.
DJ
Deterministic jitter.
DUT
Device under test.
E_D_TOV
Error_Detect_Timeout value.
ECL
Emitter Coupled Logic.
EE_buffer
The buffer associated with end-to-end flow control.
EE_Credit
End-to-End Credit.
184
Fibre Channel Interface Manual, Rev. A
EE_Credit_CNT
End-to-End Credit Count.
EIA
Electronic Industries Association.
Electrical fall time
The time interval for the falling edge of an electrical pulse to transition from its 90% amplitude level to its 10% amplitude
level.
Electrical rise time
The time interval for the rising edge of an electrical pulse to transition from its 10% amplitude level to its 90% amplitude
level.
EMC
Electromagnetic compatibility.
Encoding
Generation of transmission characters from valid data bytes and special codes.
EOF
End of frame.
ESB
Exchange Status Block.
ESTC
Estimate Credit.
ESTS
Establish Streaming.
Exchange
The basic mechanism which transfers information consisting of one or more related non-concurrent sequences which may
flow in the same or opposite directions. An exchange may span multiple Class 1 dedicated connections. The exchange is
identified by an Originator Exchange_Identifier (OX_ID) and a Responder Exchange_Identifier (RX_ID).
Exchange Status Block
A logical construct which contains the state of an exchange. An originator N_Port has an Originator Exchange Status Block
and the responder N_Port has a Responder Exchange Status Block for each concurrently active Exchange.
Exchange_Identifier (X_ID)
A generic reference to OX_ID and RX_ID (see Exchange).
Exclusive connection
A Class 1 dedicated connection without Intermix (see dedicated connection).
Execute command service
A peer-to-peer, confirmed service requested by the application client to perform a SCSI command.
Extinction ratio
The ratio (in dB) of the average optical energy in a logic one level to the average optical energy in a logic zero level measured under modulated conditions at the specified baud rate.
Eye opening
The time interval across the eye, measured at the 50% normalized eye amplitude which is error free to the specified BER.
Fibre Channel Interface Manual, Rev. A
185
F_BSY
Fabric_Port_Busy.
F_BSY(DF)
F_BSY response to a data frame.
F_BSY(LC)
F_BSY response to any link control except P-BSY.
F_CTL
Frame_Control.
F_Port
The Link_Control_Facility within the fabric which attaches to an N_Port through a link. An F_Port is addressable by the
N_Port attached to it, with a common well known address identifier (hex “FFFFFE”) (see local F_Port, and remote F_Port).
F_Port
Fabric_Port.
F_Port Name
A Name_Identifier associated with an F_Port.
F_RJT
Fabric_Port_Reject.
Fabric
The entity which interconnects various N_Ports attached to it and is capable of routing frames by using only the D_ID information in a FC-2 frame header.
Fabric_Name
A Name_Identifier associated with a fabric.
FACT
Fabric Activate Alias.
FC
Fibre Channel
FC-4 Region
A set of N_Ports connected either point-to-point or to a common fabric, such that any N_Port in the set can successfully
complete the N_Port Login procedure with all other N_Ports in the set and successfully maintain an exchange for a particular FC-4.
FC-PH
ANSI X3.230-1994, Fibre Channel Physical and Signaling Interface.
FC-4
Fibre Channel Layer 4 mapping layer.
FCP
Fibre Channel Protocol.
FCP I/O operation
An unlinked SCSI command, a series of linked SCSI commands, or a task management function.
FCP_Port
An N_Port or NL_Port that supports the SCSI Fibre Channel Protocol.
186
Fibre Channel Interface Manual, Rev. A
FCPH
The architecture specified by the Fibre Channel standard.
FCS
Frame Check Sequence.
FCSI
Fibre Channel Systems Initiative.
FDACT
Fabric Deactivate Alias.
Fiber optic test procedure (FOTP)
Standards developed and published by the Electronic Industries Association (EIA) under the EIA-RS-455 series of standards.
Fibre
A general term used to cover all transmission media specified in FC-PH.
Fibre Channel Name
A Name_Identifier which is Fibre Channel unique.
Fibre optic cable
A jacketed optical fibre or fibres.
FL_Port
An F_Port that contains Arbitrated Loop functions associated with Arbitrated Loop topology.
FOTP
Fiber optic test procedure.
FQXID
Fully qualified exchange identifier.
Fractional bandwidth
A portion of the total bandwidth available on a path.
Frame
An indivisible unit of information used by FC-2.
Frame Content
The information contained in a frame between its Start-of-Frame and End-of-Frame delimiters, excluding the delimiters.
FRU
Field Replaceable Unit.
FT-1
Frame type 1.
FT-O
Frame type 0.
Fully qualified exchange identifier
A token used to uniquely identify a FCP I/O Operation.
FWHM
Full Width Half Max.
Fibre Channel Interface Manual, Rev. A
187
GAID
Get Alias_ID.
Hard address
The AL_PA which an NL_Port attempts to acquire in the LIHA Loop Initialization Sequence.
Hex
Hexadecimal notation.
HG
Hunt Group.
Hunt Group
A set of N_Ports with a common alias address identifier managed by a single node or common controlling entity. However,
FC-PH does not presently specify how a Hunt Group can be configured.
Hz
Hertz = 1 cycle per second.
ID
Identifier.
Idle
See “Idle Word.”
Idle Word (Idle)
An ordered set of four transmission characters which are normally transmitted between frames. The Idle Word is also
referred to as an Idle.
IEEE
Institute of Electrical and Electronics Engineers.
Ignored
A field that is not interpreted by the receiver.
Infinite buffer
A terminology to indicate that at FC-2 level, the amount of buffer available at the Sequence Recipient is unlimited. The ULP
chooses the amount of buffer per Sequence based on its MTU (maximum transfer unit).
Information Category
A frame header field indicating the category to which the frame payload belongs (e.g., Solicited Data, Unsolicited Data,
Solicited Control, and Unsolicited Control).
Information transfer
Transfer of frames whose payload has meaning to the cooperating FC-4s.
Information Unit
An organized collection of data specified by FC-4 to be transferred as a single sequence by FC-2.
Information Unit
An organized collection of data specified by FC-4 to be transferred as a single sequence by FC-2.
Initial Relative Offset
A relative offset value specified at the sending end by an upper level for a given block or subblock and used by the sending
FC-2 in the first frame of that block or subblock (see subblock, block, and Relative Offset). Initial Relative Offset value may
be zero or non-zero.
188
Fibre Channel Interface Manual, Rev. A
Initialization
For FC-1 level the period beginning with power on and continuing until the transmitter and receiver of that level become
operational.
Initiator
An SCSI device containing application clients that originate device service requests and task management functions to be
processed by a target SCSI device.
Initiator identifier
Token by which a target identifies the initiator device.
Interface connector
An optical or electrical connector which connects the media to the Fibre Channel transmitter or receiver. The connector
consists of a receptacle and a plug.
Intermix
A service which interleaves Class 2 and Class 3 frames on an established Class 1 connection.
Intersymbol interference
The effect on a sequence of symbols in which the symbols are distorted by transmission through a limited bandwidth
medium to the extent that adjacent symbols begin to interfere with each other.
IP
Internet Protocol.
IPA
Initial process associator.
ITV-TS
The International Union–Telecommunication Standardization (formerly CClTT).
IU
Information Unit.
Jitter
Deviations from the ideal timing of an event which occur at high frequencies. Low frequency deviations are tracked by the
clock recovery and do not directly affect the timing allocations within a bit cell. Jitter is not tracked by the clock recovery and
directly affects the timing allocations in a bit cell. For FC-PH the lower cutoff frequency for jitter is defined as the bit rate
divided by 2,500. Jitter is customarily subdivided into deterministic and random components.
Jitter, deterministic (DJ)
Timing distortions caused by normal circuit effects in the transmission system. Deterministic jitter is often subdivided into
duty cycle distortion (DCD) caused by propagation differences between the two transitions of a signal and data dependent
jitter (DDJ) caused by the interaction of the limited bandwidth of the transmission system components and the symbol
sequence.
Jitter, random (RJ)
Jitter due to thermal noise which may be modeled as a Gaussian process. The peak-to-peak value of RJ is of a probabilistic
nature and thus any specified value yields an associated BER.
JNA
Join Alias Group.
L_Port
An N_Port or F_Port that contains Arbitrated Loop functions associated with Arbitrated Loop topology.
LA RJT
Link Application Reject.
Fibre Channel Interface Manual, Rev. A
189
LAN
Local Area Network.
laser chirp
A phenomenon in lasers where the wavelength of the emitted light changes during modulation.
LCF
Link Control Facility.
LCR
Link Credit Reset.
LED
light emitting diode.
level
1.
A document artifice used to group related architectural functions. No specific correspondence is intended between levels and actual implementations.
2.
a specific value of voltage (e.g., voltage level).
link
1.
Two unidirectional fibres transmitting in opposite directions and their associated transmitters and receivers.
2.
The full-duplex FC-0 level association between FC-1 entities in directly attached Ports (see Port).
Link_Control_Facility
A link hardware facility which attaches to an end of a link and manages transmission and reception of data. It is contained
within each N_Port and F_Port.
LLC
Logical Link Control.
Local F_Port
The F_Port to which an N_Port is directly attached by a link (see remote F_Port).
LOGI
Log in.
Logical unit
A target resident entity that implements a device model and executes SCSI commands sent by an application client.
Logical unit identifier
Identifier used by an initiator to reference the logical unit.
Login_BB_Credit
On FC-AL, equal to the number of receive buffers that a receiving NL_ port must have available when a loop circuit is
established. Login_BB_Credit is discovered in the PDISC or PLOGI protocol.
LOGO
Log out.
LOL
Loss of light.
Loop Tenancy
The period of time beginning when a port wins arbitration and ending when it receives a CLS in response to its own CLS, or
forwards a CLS transmitted to it.
190
Fibre Channel Interface Manual, Rev. A
Loop_ID
7-bit values numbered contiguously from 0 to 126 decimal and representing the 127 legal hard addresses on a loop (not all
of the 256 possible AL_PAs are used in FC-AL for reasons related to running disparity). Loop_IDs correspond to the 7-bit
SEL word in SFF-8045 used for specifying hard addresses. Decimal 127 (7F hex) is not a valid Loop_ID, but is used to signify that no hard address is being assigned to an NL_Port.
Loopback
A mode of FC-1 operation in which the information passed to the FC-1 transmitter for transmission is shunted directly to the
FC-1 receiver, overriding any signal detected by the receiver on its attached fibre.
LR
Link Reset primitive sequence.
LRR
Link Reset Response primitive sequence.
LS_ACC
Link Service Accept.
LW
Long wavelength.
m
Meter.
MAC
Media Access Control.
Mandatory
A function which is required to be supported by a compliant implementation of FC-PH.
MAS
Master of link.
Mb
Mega bit.
MB
Mega byte.
MBd
Mega baud.
Meaningful
A control field or bit shall be applicable and shall be interpreted by the receiver, wherever it is specified as meaningful.
Wherever it is specified as “not meaningful,” it shall be ignored (see valid).
MM
Multimode.
Mode-partition noise
Noise in a laser based optical communication system caused by the changing distribution of laser energy partitioning itself
among the laser modes (or lines) on successive pulses in the data stream. The effect is a different center wavelength for
the successive pulses resulting in arrival time jitter attributable to chromatic dispersion in the fibre.
ms
Millisecond.
Fibre Channel Interface Manual, Rev. A
191
ms
Microsecond.
N_Port
A hardware entity which includes a Link_Control_Facility. It may act as an originator, a responder, or both.
N_Port
Node_Port.
N_Port Identifier
A fabric-unique address identifier by which an N_Port is uniquely known. The identifier may be assigned by the fabric during the initialization procedure. The identifier may also be assigned by other procedures not defined in FC-PH. The identifier is used in the S_ID and D_ID fields of a frame.
N_Port Name
A Name_Identifier associated with an N_Port.
NA
Not applicable.
NAA
Network Address Authority.
NACT
N_Port Activate Alias.
Name_Identifier
A 64-bit identifier, with a 60-bit value preceded with a 4-bit Network Address Authority Identifier, used to identify entities in
Fibre Channel such as N_Port, Node, F_Port, or Fabric.
NDACT
N_Port Deactivate Alias.
Network_Address_Authority (NAA)
An organization which administers network addresses.
Network_Address_Authority (NAA) identifier
A four-bit identifier defined in FC-PH to indicate a Network_Address_Authority (NAA).
NL_Port
An N_Port that contains arbitrated loop functions associated with the Fibre Channel Arbitrated Loop topology.
Node
A collection of one or more N_Ports or NL_Ports controlled by a level above FC-2.
Node_Name
A Name_Identifier associated with a node.
Non-repeating ordered set
An ordered set which, when issued by FC-2 to FC-1 for transmission, is to be transmitted once.
NOP
No operation.
NOS
Not Operational primitive sequence.
192
Fibre Channel Interface Manual, Rev. A
Not Operational
A receiver or transmitter that is not capable of receiving or transmitting an encoded bit stream respectively, based on the
rules defined by FC-PH for error control. For example, FC-1 is Not Operational during Initialization.
ns
Nanosecond.
NTP
Network Time Protocol.
OESB
Originator Exchange Status Block.
OFC
Open fibre control.
Offset
Relative Offset.
OFSTP
Optical fiber system test practice.
OLS
Online primitive sequence.
Open
The period of time starting when a sequence (an exchange) is initiated until that sequence (the exchange) is normally or
abnormally terminated.
Open fibre control (OFC)
A safety interlock system that controls the optical power level on an open optical fibre cable.
Operation
A construct which may be used by a level above FC-2 and is associated with one or more exchanges.
Operation_Associator
A value used in the Association_Header to identify a specific operation within a Node and correlate communicating processes related to that operation. Operation_Associator is the mechanism by which an operation within a given Node is
referred to by another communicating Node. Operation_Associator is a generic reference to Originator
Operation_Associator and Responder Operation_Associator (see Process_Associator).
Operational
The state of a receiver or transmitter that is capable of receiving or transmitting an encoded bit stream, respectively, based
on the rules defined by FC-PH for error control. Those receivers capable of accepting signals from transmitters requiring
laser safety procedures are not considered operational after power on until a signal of a duration longer than that associated with laser safety procedures is present at the fibre attached to the receiver.
OPN Initiator
The port on an Arbitrated Loop that sent the OPN primitive.
Optical fibre
Any filament or fibre, made of dielectric material, that guides light.
Optional
Characteristics that are not required by FC-PH. However, if any optional characteristic is implemented, it shall be implemented as defined in FC-PH.
Fibre Channel Interface Manual, Rev. A
193
Ordered set
A transmission word composed of a special character in its first (leftmost) position and data characters in its remaining positions. An ordered set is represented by the combination of special codes and data bytes which, when encoded, result in the
generation of the transmission characters specified for the ordered set.
Originator
The logical function associated with an N_Port responsible for originating an exchange.
Originator Exchange Identifier (OX_ID)
An identifier assigned by an originator to identify an exchange and meaningful only to the originator (see Responder
Exchange Identifier).
ORL
Optical return loss.
OVC_ID
Originator VC_ID.
OX_ID
Originator_Exchange_Identifier.
P_BSY
N_Port Busy.
Payload
Contents of the data field of a frame, excluding optional headers and fill bytes, if present.
PDISC
Discover N_Port Service parameters.
Plug
The cable half of the interface connector which terminates an optical or electrical signal transmission cable.
Port
A generic reference to an N_Port or F_Port.
Port_Name
A Name_Identifier associated with a port.
Power on state
In this state, any circuits or optical devices respond to controls resulting from higher levels.
ppm
Parts per million.
Preferred Address
On FC-AL, the AL_PA which an NL_Port attempts to acquire first during loop initialization. Following power-on reset, the
preferred address of a private NL_Port is its hard address (if any). Following receipt of a LIP other than
LIP(AL_PD,AL_PS), the preferred address of a private NL_Port is its previously acquired address. Fabric-assigned or soft
addresses are not considered to be preferred.
Previously Acquired Address
This address only has meaning during loop initialization. During initialization, it is the AL_PA which was in use prior to
receipt of LIP. After the time a loop initialization completes and the next one begins, an NL_Port has no previously acquired
address.
Primitive Sequence
An ordered set transmitted repeatedly and continuously until a specified response is received.
194
Fibre Channel Interface Manual, Rev. A
Primitive Signal
An ordered set designated to have a special meaning such as an Idle or Receiver_Ready (R_RDY).
Private loop device
A device with only private NL_Ports.
Private NL_Port
An NL_Port which is observing the rules of private loop behavior.
PRLI
Process Login.
PRLO
Process Logout.
Process policy
An error handling policy where an N_Port is able to continue processing Data frames received following detection of one or
more missing frames in a sequence.
Process_Associator
A value used in the Association_Header to identify a process or a group of processes within a Node. Process_Associator is
the mechanism by which a process is addressed by another communicating process. Process_Associator is a generic reference to Originator Process_Associator and Responder Process_ Associator (see Operation_Associator).
Profile
An interoperability specification that provides implementation guidelines for systems manufacturers, system integrators,
component manufacturers, and users seeking to design and select interoperable Fibre Channel peripherals, hosts, and
components. A Profile specifies particular settings for various Fibre Channel physical, link-level, and upper-level protocol
options to enhance interoperability.
Public loop device
A device with at least one public NL_Port.
Public NL_Port
An NL_Port which can observe the rules of either public or private loop behavior. A public NL_Port may have open
Exchanges with both private and public NL_Ports concurrently.
QoSF
Quality of Service Facilitator.
QoSR
Quality of Service Request.
R_CTL
Routing Control.
R_A_TOV
Resource_Allocation_Timeout value.
R_RDY
Receiver_Ready.
R_T_TOV
Receiver_Transmitter_Timeout Value.
Fibre Channel Interface Manual, Rev. A
195
Random Relative Offset
The relationship specified between Relative Offset values contained in frame (n) and frame (n+1) of an Information Category within a single Sequence. For a given Information Category i within a single Sequence, Random Relative Offset
(RO[i]) value for a frame (n+1) is unrelated to that of the previous frame (n). (see Initial Relative Offset and Continuously
Increasing Relative Offset).
RCS
Read Connection Status.
Receiver
1.
The portion of a Link_Control_Facility dedicated to receiving an encoded bit stream from a fibre, converting this bit
stream into Transmission Characters, and Decoding these characters using the rules specified by FC-PH.
2.
An electronic circuit (Rx) that converts a signal from the media (optical or electrical) to an electrical retimed (or nonretimed) serial logic signal.
Receiver overload
The condition of exceeding the maximum acceptable value of the received average optical power at point
BER <10
Note.
gR to achieve a
-12.
(See FC-PI-2, Section 5.9, Interoperability points, Figure 10, where
gR = Bulkhead Receiver Connector).
Receiver sensitivity
The minimum acceptable value of average received signal at point
gR to achieve a BER <10-12. It takes into account
power penalties caused by use of a transmitter with a worst-case output. In the case of an optical path, it does not include
power penalties associated with dispersion, jitter, effects related to the modal structure of the source or reflections from the
optical path. These effects are specified separately in the allocation of maximum optical path penalty.
Note.
(See FC-PI-2, Section 5.9, Interoperability points, Figure 10, where
gR = Bulkhead Receiver Connector).
Receptacle
The fixed or stationary female half of the interface connector which is part of the transmitter or receiver.
Reflections
Power returned to point S of figure x by discontinuities in the physical link.
Relative Offset (Offset)
The displacement, expressed in bytes, of the first byte of a Payload related to an upper level defined-origin for a given Information Category (see Continuously Increasing and Random Relative Offset).
Relative Offset space
A virtual address space defined by the sending upper level for a single information category. The address space starts from
zero, representing the upper level defined-origin, and extends to its highest value.
Remote F_Port
The F_Port to which the other communicating N_Port is directly attached (see local F_Port).
Repeating ordered set
An ordered set which, when issued by FC-2 to FC-1 for transmission, is to be repetitively transmitted until a subsequent
transmission request is issued by FC-2.
REQCS
Request Clock Synchronization.
Request byte count
Number of bytes to be moved by a data delivery service request.
196
Fibre Channel Interface Manual, Rev. A
RES
Read Exchange Status Block.
RESB
Responder Exchange Status Block.
reserved
A field which is filled with binary zeros by the source N_Port and is ignored by the destination N_Port. Note: Future
enhancements to FC-PH may define usages for reserved fields. The reserved fields should not be checked or interpreted.
Any violation of this guideline may result in loss of upward compatibility with future implementations which comply with
future enhancements to FC-PH.
Responder
The logical function in an N_Port responsible for supporting the Exchange initiated by the Originator in another N_Port.
Responder Exchange_Identifier (RX_ID)
An identifier assigned by a Responder to identify an Exchange and meaningful only to the Responder.
RFI
Radio Frequency Interference.
RIIN
reflection induced intensity noise.
RJ
Random jitter.
RJT
Reject.
RlN
Relative intensity noise.
RMC
Remove connection.
RMS
Root mean square.
RNC
Report node capability.
RO
Relative offset.
RSS
Read sequence status block.
RTV
Read timeout value.
Run length
Number of consecutive identical bits in the transmitted signal, e.g., the pattern 0011111010 has a run length of five (5).
Running disparity
A binary parameter indicating the cumulative disparity (positive or negative) of all previously issued transmission characters.
Fibre Channel Interface Manual, Rev. A
197
RVC_ID
Responder VC_ID.
RVCS
Read virtual circuit status.
Rx
Receiver.
RX_ID
Responder_Exchange_Identifier.
s or sec
Second(s).
S/N
signal-to-noise ratio.
S_ID
Source_Identifier.
S_Length
Security_Length.
S_Type
Security_Type.
SBCCS
Single byte command code sets.
SCN
State change notification.
SCR
Stacked connect request.
SCSI
Small Computer System Interface.
SCSI device
A device that originates or services SCSI commands.
SEQ-CNT
Sequence count.
SEQ_ID
Sequence ID.
Sequence
A set of one or more data frames with a common Sequence_ID (SEQ_ID), transmitted unidirectionally from one N_Port to
another N_Port with a corresponding response, if applicable, transmitted in response to each data frame.
Sequence initiator
The N_Port which initiates a sequence and transmits data frames to the destination N_Port.
198
Fibre Channel Interface Manual, Rev. A
Sequence recipient
The N_Port which receives data frames from the sequence initiator and, if applicable, transmits responses (Link_Control
frames) to the sequence initiator.
Sequence status block
A logical construct which tracks the state of a sequence. Both the sequence initiator and the sequence recipient have a
sequence status block for each concurrently active sequence.
Sequence_ID (SEQ_ID)
An identifier used to identify a sequence.
SISB
Sequence initiator status block.
SM
Single mode.
SOF
Start of frame.
Solicited control
One of the information categories indicated in the frame header.
Solicited data
One of the information categories indicated in the frame header.
Source N_Port
The N_Port from which a frame is transmitted.
Source_Identifier (S_ID)
The address identifier used to indicate the source port of the transmitted frame.
Special character
Any transmission character considered valid by the transmission code but not equated to a valid data byte. Special characters are provided by the transmission code for use in denoting special functions.
Special code
A code which, when encoded using the rules specified by the transmission code, results in a special character. Special
codes are typically associated with control signals related to protocol management (e.g., K28.5).
Spectral width
1.
FWHM (Full Width Half Maximum) The absolute difference between the wavelengths at which the spectral radiant
intensity is 50 percent of the maximum power. This form is typically used for LED optical sources.
2.
RMS The weighted root mean square width of the optical spectrum. See FOTP-127. This form is typically used for
laser optical sources.
SRSB
Sequence recipient status block.
SSB
Sequence status block.
Status
A single byte returned by the device server to the application client in its response to indicate the completion and completion state of a command.
Fibre Channel Interface Manual, Rev. A
199
STP
Shielded twisted pair.
Streamed sequence
A new Class 1 or Class 2 sequence initiated before receiving the final acknowledgement for the previous sequence in the
same exchange. Any new Class 3 sequence initiated before the expiration of R_A_TOV for all data frames in the previous
sequence.
Subblock
A upper level construct which contains partial application data for a single information category (see block). A collection of
subblocks for a given information category may be specified for transfer within a single sequence.
SW
Short wavelength.
Synchronization
Receiver identification of a transmission word boundary.
Tag
The initiator-specified component of the task identifier.
Target
A SCSI device that receives SCSI commands and directs such commands to one or more logical units for execution.
Target identifier
Address of up to 64 bits by which a target is identified.
Task
An object within the logical unit representing the work associated with a command or group of linked commands.
Task attribute
The queuing specification for a task (Simple, Ordered, Head of Queue, ACA).
Task identifier
The information uniquely identifying a task.
Task management function
A peer-to-peer confirmed service provided by a task manager that can be invoked by an application client to affect the execution of one or more tasks.
TP
Twisted pair.
TPLS
Test process login status.
Transceiver
A transmitter and receiver combined in one package.
Transmission character
Any encoded character (valid or invalid) transmitted across a physical interface specified by FC-0. Valid transmission characters are specified by the transmission code and include data and special characters.
Transmission code
A means of encoding data to enhance its transmission characteristics. The transmission code specified by FC-PH is byteoriented, with:
1.
200
Valid data bytes; and
Fibre Channel Interface Manual, Rev. A
2.
Special codes encoded into 10-bit transmission characters.
Transmission word
A string of four contiguous transmission characters occurring on boundaries that are zero modulo 4 from a previously
received or transmitted special character.
Transmitter
1.
The portion of a Link_Control_Facility dedicated to converting valid data bytes and special codes into transmission
characters using the rules specified by the transmission code, converting these transmission characters into a bit
stream, and transmitting this bit stream onto the transmission medium (optical or electrical).
2.
An electronic circuit (Tx) that converts an electrical logic signal to a signal suitable for the communications media (optical or electrical).
Tx
Transmitter.
TYPE
Data structure type.
UI
Unit interval == 1 bit period.
ULP
Upper layer protocol.
ULP
Upper Level Protocol.
ULP process
A function executing within an FC node which conforms to Upper Layer Protocol (ULP) defined protocols when interacting
with ULP processes residing in other FC nodes.
Uncategorized information category
One of the information categories indicated in the frame header.
Unrecognized ordered set
A transmission word containing a K28.5 in its first (leftmost) position but not defined to have meaning by FC-PH.
Unsolicited control
One of the information categories indicated in the frame header.
Unsolicited data
One of the information categories indicated in the frame header.
Upper level
A level above FC-2.
Upper Level Protocol (ULP)
The protocol user of FC-4.
Valid
A validity control bit indicates if a field is valid, in which case, the value in the field shall be treated as valid. If a validity control bit indicates that a field is invalid, the value in the field shall be treated as invalid (see meaningful).
Valid data byte
A string of eight contiguous bits within FC-1 which represents a value with 0 to 255, inclusive.
Fibre Channel Interface Manual, Rev. A
201
Valid frame
A frame received with a valid Start_of_Frame (SOF), a valid End_of_Frame (EOF), valid data characters, and proper cyclic
redundancy check (CRC) of the frame header and data field.
VC
Virtual circuit.
VC_Credit
Virtual circuit credit.
VC_ID
Virtual circuit identifier.
VC_RDY
Virtual circuit ready.
Vendor unique
Functions, code values, and bits not defined by FC-PH and set aside for private usage between parties using FC-PH. Caution: different implementations of FC-PH may assign different meanings to these functions, code values, and bits.
Virtual circuit (VC)
A unidirectional path between two communicating N_Ports that permits Class 4 service to be used. Two virtual circuits are
required to form a Class 4 circuit.
Virtual Circuit Credit (VC_Credit)
The number of receiver buffers allocated to a virtual circuit by an F_Port. It represents the maximum number of frames that
an N_Port may transmit without causing a buffer overrun condition at the F_Port receiver.
Virtual circuit credit limit
The maximum number of VC_Credits available for a virtual circuit. It represents the maximum number of VC_Credits held
by an N_Port on a given virtual circuit.
Virtual Circuit Identifier (VC_ID)
An identifier associated with either the originator (OVC_ID) or responder (RVC_ID) for a virtual circuit.
Virtual path
A fixed route through a fabric in support of a virtual circuit.
WAN
Wide area network.
Well-known addresses
A set of address identifiers defined in FC-PH to access global server functions such as a name server.
Word
A string of four contiguous bytes occurring on boundaries that are zero modulo 4 from a specified reference.
Worldwide_Name
A Name_Identifier which is worldwide unique, and represented by a 64-bit unsigned binary value.
WWN
Worldwide name.
X_ID
Exchange_Identifier.
202
Fibre Channel Interface Manual, Rev. A
Index
Numerics
10-bit character 23
8045 ESI pinouts 115
8045 mode 115
8067 ESI command 116
8067 ESI interface pinouts 117
8067 information format 117
8067 mode 116
A
Abort Sequence 66, 67
Abort Task Set
FCP CMND Payload 140, 142
Aborted Command
disc drive sense keys 166
ABTS. See Abort Sequence
ACA. See Auto Contingent Allegiance
access fairness algorithm 60, 61
access unfairness 61
access window 60
ACK. See Acknowledge
Acknowledge_0 Capable
Class Service Parameters 76
Initiator Control fields 77
Recipient Control fields 77
Acknowledge_N Capable
Class Service Parameters 76
Initiator Control fields 77
Recipient Control fields 77
Action Code
Device Address page 125
Device Identification page 127, 134
Device Standard Inquiry Data 124
Device Temperature page 128
Enclosure Initiated ESI Page Format 124
Enclosure Request 122
ESI Data Validation Accept 135
ESI data validation accept 135
Link Status page 131, 132
Loop Position Map page 126
Port Parameters page 129
Spin-Down Control Status page 134
Action Specific
Enclosure Request 122, 123
Actual Retry Count
Actual Retry Count bytes 164, 165
Actual Retry Count bytes
Sense Key Specific 164
Additional Sense Code
Extended Sense Data 162, 163
Additional Sense Code Qualifier
Extended Sense Data 162, 163
Additional Sense Length
Extended Sense Data 162, 163
Fibre Channel Interface Manual, Rev. A
ADISC. See Discover Address
AL_PA 63
AL_PA. See Arbitrated Loop Physical Address
AL_PD 60
ALLOCATION LENGTH
CDB 12-byte 146
CDB 16-byte 147
CDB for long LBA 32-byte 148
Allocation Length
CDB 149
Alternate Credit Model
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
American National Standards Institute 3
ANSI FC_PH. See ANSI Fibre Channel Physical
Interface
ANSI Fibre Channel Physical Interface Version
F_Port Common Service Parameters 83
N_Port Common Service Parameters 74, 75, 83
ANSI standards 5
ARB(F0) 55, 60
Arbitrated Loop Physical Address 45, 60, 61
Arbitrated Loop topology 21
arbitration 60
arbitration primitive 59
ARBx 55, 59
assigned AL_PA values 63
Association Header
RRQ Payload 102
asynchronous transmission 4
Auto Contingent Allegiance Queue
FCP CMND Payload 141
B
BA_ACC. See Basic Accept
BA_RJT. See Basic Reject
background mode 170
Basic Accept 66, 68
Basic Accept Payload 68
basic link services 66
Basic Reject 66, 69
basic services replies 66
BB_Credit. See buffer to buffer credit
Bit Pointer
Field Pointer bytes 164
Bit Pointer Valid
Field Pointer bytes 164
blocking environment 62
blocking switch emulation 62
BPV. See Bit Pointer Valid
Broadcast
F_Port Common Service Parameters 83, 84
buffer to buffer
credit 42
transfer 24
Buffer to Buffer Credit
Index-1
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
Buffered Class 1
F_Port Common Service Parameters 83
N_Port Common Service Parameters 74, 75
Continuously Increasing Offset
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
Class 3 Service Parameters 84
Service Option Class 3 fields 85
Burst Length
FCP XFER RDY Payload 151, 152
Control Byte
CDB 149
CDB six-byte 144
CDB ten-byte 145, 146
C
C/D. See Command Data
cable length 4
Camp-on
Class 3 Service Parameters 84
Service Option Class 3 fields 85
Capability Entries
RNC Payload 106
Categories per Sequence
Class Service Parameters 76
Recipient Control fields 77
CDB. See Command Descriptor Block
channel level error recovery 65
channels 4
Class 3 delimiters 27
class of service 43
Class Service Parameters 76, 84
Class Valid
Class 3 Service Parameters 84
Class Service Parameters 76
Service Option Class 3 fields 85
Service Option fields 77
Clear ACA
FCP CMND Payload 140, 142
Clear Task Set
FCP CMND Payload 140, 142
Clock skew management 61
CLS 56
Command Code
RFT_ID Payload 111
command code 109, 144
Command Data
Field Pointer bytes 164
Command Descriptor Block 144
FCP CMND Payload 140, 142
Command Specific Data
Extended Sense Data 162, 163
Command/Data Mixed
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
Common Features
F_Port Common Service Parameters 84
N_Port Common Service Parameters 75
common transport header 109
Company Identifier Assigned by IEEE
Node/Port Name format 73
Concurrent Sequences
Class Service Parameters 76, 78
Continuous Increase SEQ_CNT
Index-2
control operations 137
CRC. See Cyclic Redundancy Check
credit 42
current and deferred errors 166
Cyclic Redundancy Check 39
D
D_ID. See Destination Identifier
Data
Enclosure Initiated ESI Page Format 124
data character 25
data encoding 23
data field 39
Data Field Control
basic link services header 66, 67
common transport header 109
extended link services header 71, 110
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 157
FCP XFER RDY header 150, 151
Frame header format 39
Data Length
FCP CMND Payload 140
Data Overlay Allow
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
Data Protect
disc drive sense keys 166
Data Structure Type
Frame header format 37
Data/Response Allowed
PRLI Accept Payload 90
Data/Response Mix
PRLI Accept Payload 89
PRLI Payload 87, 88
decoding 23
Dedicated Simplex
Class 3 Service Parameters 84
F_Port Common Service Parameters 83, 84
Service Option Class 3 fields 85
default self-test 169
deferred errors 166
destination device 60
Destination Identifier 54
basic link services header 66
common transport header 109
extended link services header 70, 71, 109
Fibre Channel Interface Manual, Rev. A
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 156, 157
FCP XFER RDY header 150, 151
Frame header format 36
Device ID Data
Device Identification page 127
Device Identification page 127
device self-test mode 170
DF_CTL. See Data Field Control
Disc Drive Extended Sense Data Summary 162
Discover Address 103
Discover Address Accept Payload 105
Discover Address Payload 104
discovery process 113
disparity 45
DL. See Data Length
Document Identifier
Capability Entries 106
Drive Capabilities
Port Parameters page 129
drive features 169
Dynamic Half Duplex
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
E
E_D_TOV. See Error Detect Timeout Value
EDV. See ESI Data Validation
EE_Credit. See End-to-end Credit
Enable SpinDn Ctrl
Spin-Down Control Status page 133
Enable Spin-Down
Spin-Down Control Status page 133
enclosure request 134
enclosure requested information 122
enclosure services interface 113
command format 116
Enclosure Services Interface Page
Device Address page 125
Device Identification page 127, 134
Device Standard Inquiry Data 124
Device Temperature page 128
Enclosure Initiated ESI Page Format 124
Link Status page 131, 132, 134, 135
Loop Position Map page 126
Port Parameters page 129
Encoding and decoding 23
End of Medium
Extended Sense Data 162, 163
End-of-frame (EOF) delimiter 26, 40
End-of-frame Normal 28
End-of-frame primitive 27
End-of-frame Terminate 28
End-to-end Credit 42
End-to-end credit 42
EOF. See End-of-frame
Fibre Channel Interface Manual, Rev. A
EOM. See End of Medium
Equal
disc drive sense keys 166
equal acces 60
Error Code
Extended Sense Data 162, 163
Error Detect Timeout Value 60
N_Port Common Service Parameters 74, 75
timer 56
Error Detect Timeout Value Resolution
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
Error Policy
Class Service Parameters 76
Recipient Control fields 77
error recovery 65
ESI command 134
ESI data validation 134
ESI data validation accept 135
ESI Page
ESI data validation accept 135
ESI transfer phase 134
ESI. See enclosure services interface
Establish Image Pair
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
exchange 41
Exchange Identifier Interlock
Class Service Parameters 76
Recipient Control fields 77
Exchange Identifier Reassignment
Class Service Parameters 76
Initiator Control fields 77
Explanation Code
RFT_ID Payload 111, 112
extended link services 70, 108
extended link services header 70
extended self-test 169
Extended Sense Data Format 162
F
F_CTL. See Frame Control
F_Port. See Fabric Port
Fabric 20
Fabric Login 82
Fabric Login Accept Payload 85
Fabric Login Payload 82
Fabric Port
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
Fabric Port Common Service Parameters
FLOGI ACC Payload 85
fabric topologies 61
fair NL_Port 60, 61
FC common transport 109
FC Implementation Guide 7
Index-3
FC Service Sub Type
RFT_ID Payload 111
FC Services Sub Type
RFT_ID Payload 111
FC Services Type Code
RFT_ID Payload 111
FC-0 6
FC-1 6
FC-1.5 6
FC-2 6
FC-3 6
FC-4 7
FC-AL. See Fibre Channel Arbitrated Loop
FC-CT Revision
RFT_ID Payload 111
FCP CMND. See Fibre Channel Protocol Command
FCP DATA. See Fibre Channel Protocol Data
FCP RSP. See Fibre Channel Protocol Response
FCP XFER RDY. See Fibre Channel Protocol
Transfer Ready
Fibre Channel Arbitrated Loop
Direct Attach SCSI Technical Report 5
primitive signals 28
Fibre Channel Fabric Loop Attach Technical Report
5
Fibre Channel levels 6
Fibre Channel link services 65
Fibre Channel Physical and Signaling 5
Fibre Channel Protocol 137
Command Header 138
Command Payload 140
Data frame header 153
Response header 156
Response Payload 158
Transfer Ready header 150
Transfer Ready Payload 151
Fibre Channel Protocol Command 137, 138
Fibre Channel Protocol Data 149, 153
Fibre Channel Protocol Response 137, 156
Fibre Channel Protocol Transfer Ready 150
Field Pointer
Field Pointer bytes 164
Field Pointer bytes
Sense Key Specific 164
Filemark
Extended Sense Data 162, 163
Firmware Error
disc drive sense keys 166
Fixed length CDBs
CDB for 12-byte commands 146
CDB for 16-byte commands 147
Flag
CDB Control Byte 149
Flags
Capability Entries 106
FLOGI. See Fabric Login
foreground mode 170
Index-4
Format Indication bytes
Sense Key Specific 165
Frame Control
basic link services header 66, 67
bit description 154
common transport header 109
extended link services header 70, 71, 110
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 156, 157
FCP XFER RDY header 150, 151
Frame header format 38
frame delimiters 26
frame header 34
frame sequence 41
frame structure 33
frames 33
G
Global Process Logout
TPRLO Accept Payload 97
TPRLO Payload 95, 96, 98
Group Code 144
H
Hard Address of Originator
ADISC Payload 104
Hard Address of Responder
ADISC Accept Payload 105
Hardware Error 164
disc drive sense keys 165
Head of Queue
FCP CMND Payload 141
Hunt Groups
F_Port Common Service Parameters 83, 84
I
Idle 26, 60
ILI. See Incorrect Length Indicator
Illegal Request 164
disc drive sense keys 166
Implementation Guide 7
Incorrect Length Indicator
Extended Sense Data 162, 163
Information Bytes
Extended Sense Data 162, 163
initial AL_PA 54
Initial Process Associator
Class Service Parameters 76
Initiator Control fields 77
Initiator Control
Class Service Parameters 76, 77
Initiator Control fields
Class Service Parameters 77
Initiator Function
PRLI Accept Payload 89, 90
Fibre Channel Interface Manual, Rev. A
PRLI Payload 87, 88
Inquiry Data
Device Standard Inquiry Data 124, 125
Intermix Mode
Class 3 Service Parameters 84
Class Service Parameters 76
Service Option Class 3 fields 85
Service Option fields 77
Invalid CRC Count. See Invalid Cyclic Redundancy
Check Count
Invalid Cyclic Redundancy Check Count
Link Status page 131, 132, 133
RLS Accept Payload 100, 101
Invalid Transmission Word
RLS Accept Payload 100, 102
Invalid Transmission Word Count
Link Status page 131, 132, 133
L
L_Port 61
Length of Response Information
FCP RSP Payload 159
Length of Sense Information
FCP RSP Payload 160
LESB. See Link Error Status Block
levels
Fibre Channel 6
LIFA 55, 56
LIHA 55, 56
LILP 56, 57
Link
CDB Control Byte 149, 150
link 20, 33
Link Error Status Block 99, 100
Link Failure Count
Link Status page 131, 132
RLS Accept Payload 100
link service frames 65
Link Service Reject 108
Link Service Reject Payload 108
Link Services Command Code 70
ADISC Payload 104
FLOGI ACC Payload 85
FLOGI Payload 82
LOGO Accept 81
LOGO Payload 81, 82, 85
LS_RJT Payload 108
PLOGI ACC Payload 79
PLOGI Payload 72
PRLI Accept Payload 89
PRLI Payload 87
PRLO Accept Payload 93
PRLO Payload 91
RLS Accept Payload 100
RLS Payload 99
RNC Payload 106
RRQ Accept Payload 103
Fibre Channel Interface Manual, Rev. A
RRQ Payload 102
TPRLO Accept Payload 98
TPRLO Payload 95
Link Status page 131
Link Status Page Change
Port Parameters page 129
Link_Reset 30
Link_Reset_Response 30
LIP 50
LIP F7 Initiated Count
Link Status page 131, 132, 133
LIP F7 Received Count
Link Status page 131, 132
LIP F8 Initiated Count
Link Status page 131, 132
LIP F8 Received Count
Link Status page 131, 132
LIP Loop A/B
Initiate LIP Action Specific Bits 123, 133
LIPA 55, 56
LIRP 56, 57
LISA 55, 56
LISM 48, 54
Logical Block Address 145, 148
CDB 148
CDB six-byte 144
CDB ten-byte 145
Logical Unit Number
FCP CMND Payload 140
LOGO. See Port Logout
Logout Payload 81
loop initialization 50, 58
loop failure, no valid AL_PA 31
loop failure, valid AL_PA 31
no valid AL_PA 31
reset 31
reset all 31
sequences 49, 55
state machine 58
steps 63
valid AL_PA 31
Loop Initialization Primitive (LIP) sequences 50
Loop Map Port x
Loop Position Map page 126, 127
loop port 61
bypass 32
bypass all 32
enable 32
enable all 32
Loop Position Map page 126
loop protocol 63
loop reinitialization 59
Loss of Signal Count
Link Status page 131, 132
RLS Accept Payload 100, 102
Loss of Synchronization Count
Link Status page 131, 132
RLS Accept Payload 100, 101
Index-5
Low Revision
Not Ready 164
Capability Entries 106
LS Command Code. See Link Services Command
Code
LS_RJT. See Link Service Reject
LUN. See Logical Unit Number
M
disc drive sense keys 165
Not_Operational 30
O
Offline 30
Offset
Frame header format 39
Medium Error 164
disc drive sense keys 165
meshed environment 62
Miscompare
disc drive sense keys 166
Mode Sense command
CDB 148
monitoring state 59
Multicast
F_Port Common Service Parameters 83, 84
N
N_Port. See Node Port
NACA. See Normal Auto Contingent Allegiance
Network Address ID
Node/Port Name format 73
neutral disparity 45
NL_Ports 61
No Sense
disc drive sense keys 165
Node Name
Device Address page 125, 126
FLOGI ACC Payload 85
FLOGI Payload 82
PLOGI ACC Payload 79
PLOGI Payload 72, 82
Node Name of Originator
ADISC Payload 104
Node Name of Responder
ADISC Accept Payload 105
Node Port Common Service Parameters
FLOGI Payload 82
PLOGI ACC Payload 79
PLOGI Payload 72, 82
Node Port End to End Credit
Class Service Parameters 76, 78
Node Port ID of Originator
ADISC Payload 104
Node Port ID of Responder
ADISC Accept Payload 105
Node Port Identifier
LOGO Payload 81
Node/Port Name format 73
Node/Port Name format 73
nodes 33
non-meshed environment 62
Normal Auto Contingent Allegiance
CDB Control Byte 149
Index-6
Offset Port x
Loop Position Map page 126
Open Sequences per Exchange
Class Service Parameters 76, 78
operating parameters 65
OPERATION CODE
CDB 12-byte 146
CDB 16-byte 147
CDB 32-byte Long LBA 148
Operation Code 144
CDB six-byte 144, 145, 146, 149
CDB ten-byte 145
format for CDB 144
OPNyx 60
Options
RFT_ID Payload 111
Ordered Queue
FCP CMND Payload 141
Ordered sets 25
Originator Exchange Identifier
basic link services header 66, 67
common transport header 109
extended link services header 70, 71, 110
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 156, 157
FCP XFER RDY header 150, 151
Frame header format 39
RRQ Payload 102
Originator Exchange Identifier, Aborted
BA_ACC Payload 68
Originator Process Associator
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
PRLO Accept Payload 93
PRLO Payload 91
Originator Source Identifier
RRQ Payload 102
OX_ID. See Originator Exchange Identifier
P
Page Code
Enclosure Request 122
ESI command format 116
Page Length
Device Address page 125, 126
Device Identification page 127, 133, 134
Device Standard Inquiry Data 124
Device Temperature page 128, 129
Fibre Channel Interface Manual, Rev. A
Enclosure Initiated ESI Page Format 124
ESI data validation accept 135
Link Status page 131, 132
Loop Position Map page 126, 127
Port Parameters page 129
PRLI Accept Payload 89
PRLI Payload 87
PRLO Accept Payload 93
PRLO Payload 91, 95, 97
TPRLO Accept Payload 97
TPRLO Payload 95
Parameter
basic link services header 66, 67
common transport header 109
extended link services header 70, 110
FCP CMND header 138, 139
FCP RSP header 156, 157
FCP XFER RDY header 150, 151
Parameter Length
Enclosure Request 122, 123
Parameter List Length
CDB 149
Parameter rounding 167
participating NL_Port 60
payload 39
Payload Length
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
PRLI Accept Payload 89
PRLI Payload 87
PRLO Accept Payload 93
PRLO Payload 91, 95, 97
RNC Payload 106
TPRLO Accept Payload 97
TPRLO Payload 95
PBC. See port bypass circuit
PDISC. See Port Discovery
physical interface 2
physical link 65
PLOGI. See Port Login
point-to-point 20
service 45
Port A
Device Address page 125
Port A Name
Device Address page 125
Port A Port_Identifier
Device Address page 125
Port A Position
Device Address page 125
Port B
Device Address page 125
Port B Name
Device Address page 125
Port B Port_Identifier
Device Address page 125
Port B Position
Device Address page 125
Fibre Channel Interface Manual, Rev. A
Port Bypass
Port Parameters page 129
port bypass circuit 22
Port Discovery 103
Port Identifier
RLS Payload 99
Port Link Fail
Port Parameters page 129
Port Link Rate
Port Parameters page 129
Port Login 22, 72, 103
Port Login Accept Payload 79
Port Login Payload 72
Port Logout 81
Port Logout Accept 81
Port Name
Device Address page 126
FLOGI ACC Payload 85, 86
FLOGI Payload 82
LOGO Payload 81
PLOGI ACC Payload 80
PLOGI Payload 72, 82
Port Name of Originator
ADISC Payload 104
Port Name of Responder
ADISC Accept Payload 105
Port Parameters page 129
Port Position
Device Address page 126
Port x Bypass
Port Parameters page 129
Port x Link Fail
Port Parameters page 129
Port x Link Rate
Port Parameters page 129
Port_Identifier
Device Address page 126
ports 19
Primitive Sequence Protocol Error
Link Status page 131, 132, 133
RLS Accept Payload 100, 102
Primitive sequences 30
Primitive signals 25
Priority
Class 3 Service Parameters 84
Service Option Class 3 fields 85
priority 60, 61
PRLI. See Process Login
PRLO. See Process Logout
Process Associators
PRLO Accept Payload 94
PRLO Payload 92
TPRLO Accept Payload 98
TPRLO Payload 96
Process Login 87
Process Login Accept Payload 89
Process Login Payload 87
Index-7
Process Logout 91
Process Logout Accept Payload 93
Process Logout Payload 91
Progress Indication
Format Indication bytes 165
protocol 6
R
R_CTL. See Routing Control
Random Relative Offset
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
RD XFR RDY. See Read Transfer Ready
Read Capacity command 148
Read Data
FCP CMND Payload 142
Read Link Error Status Block 99
Read Link Error Status Block Accept 100
Read Link Error Status Block Accept Payload 100
Read Link Error Status Block Payload 99
Read Transfer Ready Disable
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
Reason Code
BA_RJT Payload 69
LS_RJT Payload 108
RFT_ID Payload 111, 112
Reason Explanation
BA_RJT Payload 69
LS_RJT Payload 108
Receive Data Field Size
Class Service Parameters 76, 77
F_Port Common Service Parameters 83
N_Port Common Service Parameters 74, 75, 84
Receiver ready 26
Recipient Control
Class Service Parameters 76, 77
Recipient Control fields
Class Service Parameters 77
Recovered Error 164
disc drive sense keys 165
Register FC-4 Types Name Service 111
Register FC-4 Types Name Service Payload 111
reinitialization 59
Reinstate Recovery Qualifier 102
Reinstate Recovery Qualifier Accept Payload 103
Reinstate Recovery Qualifier Payload 102
RelAdr. See Relative Address
Relative Address
CDB 149
CDB ten-byte 145, 146
Relative Offset
FCP DATA frame header 153, 155
FCP XFER RDY Payload 151, 153
Relative Offset by Info Category
N_Port Common Service Parameters 74, 75
Report Node Capabilities 106
Index-8
Report Node Capabilities Flags
RNC Payload 106
Report Node Capabilities Payload 106
Residual Count
FCP RSP Payload 160
Residual Over Run
FCP RSP Payload 158, 159
Residual Under Run
FCP RSP Payload 158, 159
Responder Exchange Identifier
Frame header format 39
Responder Identifier
basic link services header 66, 67
common transport header 109
extended link services header 70, 71, 110
FCP CMND header 138, 139
FCP DATA frame header 153, 155
FCP RSP header 157
FCP XFER RDY header 151
RRQ Payload 102
Responder Identifier, Aborted
BA_ACC Payload 68
Responder Process Associator
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
PRLO Accept Payload 93
PRLO Payload 91
Response Code
PRLI Accept Payload 89, 90
PRLO Accept Payload 93, 94
TPRLO Accept Payload 98
Response Information
FCP RSP Payload 158, 160
Response Information format
FCP RSP Payload 161
Response Length Valid
FCP RSP Payload 158, 159
RFT_ID. See Register FC-4 Types Name Service
RLS. See Read Link Error Status Block
RNC. See Report Node Capabilities
RO. See Relative Offset
rounding 167
Routing Control
basic link services header 66
common transport header 109
extended link services header 70, 109
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 156
FCP XFER RDY header 150
Frame header format 35
RRQ. See Reinstate Recovery Qualifier
RSP Length Valid. See Response Length Valid
running disparity 23, 45
RX_ID. See Responder Identifier
Fibre Channel Interface Manual, Rev. A
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 156, 157
FCP XFER RDY header 150, 151
Frame header format 38
S
S.M.A.R.T. See Self-Monitoring Analysis and
Reporting Technology
S_ID. See Source Identifier
SCSI Fibre Channel Protocol 5
SCSI operations 137
SCSI Parallel Interface-3 (SPI-3) 5
SCSI Sense Information
FCP RSP Payload 158, 161
SCSI Status
FCP RSP Payload 158, 162
SCSI-FCP. See Fibre Channel Protocol
Segment Number
Extended Sense Data 162, 163
Self-Monitoring Analysis and Reporting Technology
169
self-test
default 169
extended 169
short 169
Send
ESI command format 116
Send Diagnostic Parameter Length
ESI command format 116
Sense Key
Extended Sense Data 162, 163
Sense Key Specific 164
Extended Sense Data 162, 163
Sense Key Specific Valid 164
Extended Sense Data 162, 163
Field Pointer bytes 164, 165
Format Indication bytes 165
Sense Length Valid
FCP RSP Payload 158, 162
SEQ_ID. See Sequence Identifier
Sequence Count
basic link services header 66, 67
common transport header 109
extended link services header 70, 71, 110
FCP CMND header 139
FCP DATA frame header 153, 154
FCP RSP header 157
FCP XFER RDY header 150, 151
Frame header format 39
Sequence Count, Highest
BA_ACC Payload 68
Sequence Count, Lowest
BA_ACC Payload 68
Sequence Delivery
Class 3 Service Parameters 84
Class Service Parameters 76
Service Option Class 3 fields 85
Service Option fields 77
Sequence Identifier
basic link services header 66, 67
common transport header 109
extended link services header 70, 71, 110
Fibre Channel Interface Manual, Rev. A
Sequence Identifier, Last
BA_ACC Payload 68
Sequence Identifier, Valid
BA_ACC Payload 68
serial transmission 23
serialization process 24
Service Option fields
Class Service Parameters 85
Service Options
Class Service Parameters 76, 78
Class3 Service Parameters 84
Service Parameters
PRLI Accept Payload 89
PRLI Payload 87
Service Parameters, Class 1, 2, 3
FLOGI ACC Payload 85, 86
FLOGI Payload 82
PLOGI ACC Payload 80
PLOGI Payload 72, 73
short self-test 169
Simple Queue
FCP CMND Payload 141
skew management 61
SKSV. See Sense Key Specific Valid
SOF. See Start-of-frame
Source Identifier 54
basic link services header 66
extended link services header 71, 110
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 156, 157
FCP XFER RDY header 150, 151
Frame header format 36
Source Identifier of Requesting N_Port
RFT_ID Payload 111, 112
special characters 25
Spin-Down Control Status 134
Stacked Connect Request
Class 3 Service Parameters 84
Class Service Parameters 76
Service Option Class 3 fields 85
Service Option fields 77
standards 5
Start-of-frame (SOF) delimiter 26, 34
Start-of-frame Initialize Loop 28
Start-of-frame Initiate Class 3 28
Start-of-frame Normal Class 3 28
support services 173
T
Target Function
PRLI Accept Payload 89, 90
Index-9
PRLI Payload 87, 88
PRLO Payload 91, 95
TPRLO Payload 95
Target Reset
FCP CMND Payload 142
Type Code Extension
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
PRLO Payload 91, 92, 95
TPRLO Payload 96
Task Attribute
FCP CMND Payload 140, 142
Task Management functions 137
Task Set control 137
technical support services 173
Temperature
Device Temperature page 128
Term Task. See Terminate Task
Terminate Task
FCP CMND Payload 140, 142
Third Party Orig N_Port ID Validity
TPRLO Accept Payload 97
TPRLO Payload 95
Third Party Orig Proc Assc Valid
TPRLO Accept Payload 97
TPRLO Payload 95
Third Party Originator N_Port ID
TPRLO Accept Payload 97, 98
TPRLO Payload 95, 96
Third Party Originator N_Port ID Validity
TPRLO Accept Payload 99
TPRLO Payload 96, 97, 98
Third Party Originator Process Associator
TPRLO Accept Payload 97
TPRLO Payload 95
Third Party Process Logout 95
Third Party Process Logout Accept Payload 97
Third Party Process Logout Payload 95
Third Party Resp Proc Assc Valid
TPRLO Accept Payload 97
TPRLO Payload 95
Third Party Responder Process Associator
TPRLO Accept Payload 97
TPRLO Payload 95
topologies 19
topology standards 7
Total Concurrent Sequences
N_Port Common Service Parameters 74, 75
TPRLO. See Third Party Process Logout
Transfer Length
CDB 149
CDB six-byte 144, 145
CDB ten-byte 145, 146
transmission word 25, 45, 59
Type 39
basic link services header 66, 67
common transport header 109
extended link services header 70, 72, 110
FCP CMND header 138, 139
FCP DATA frame header 153, 154
FCP RSP header 157
FCP XFER RDY header 150, 151
Type Code
PRLI Accept Payload 89
PRLI Payload 87
Index-10
Typical CDB
six-byte 116, 144
ten-byte 145
U
unfair NL_Port 61
Unique Drive Identifier
Node/Port Name format 73
Unit Attention
disc drive sense keys 166
Untagged Queue
FCP CMND Payload 141
V
valid addresses 45
valid arbitrated loop physical address 61
Valid Vendor Version
F_Port Common Service Parameters 83, 84
N_Port Common Service Parameters 74, 75
Validity Bit
Extended Sense Data 162
Variable length CDB formats
Typical variable length CDB for long LBA 32-byte
commands 148
Vendor Identifier
RNC Payload 106
Vendor Unique
BA_RJT Payload 69
LS_RJT Payload 108
RFT_ID Payload 111, 112
Vendor Version
FLOGI ACC Payload 85, 86
FLOGI Payload 82
PLOGI ACC Payload 80
PLOGI Payload 72
Volume Overflow
disc drive sense keys 166
VU Information Length
RNC Payload 106
VU Information Lengths
RNC Payload 106
W
window
access 60
WR XFR RDY. See Write Transfer Ready
Write Data
FCP CMND Payload 142
Write Transfer Ready Disable
Fibre Channel Interface Manual, Rev. A
PRLI Accept Payload 89, 90
PRLI Payload 87, 88
X
X_ID. See Exchange Identifier
Fibre Channel Interface Manual, Rev. A
Index-11
Index-12
Fibre Channel Interface Manual, Rev. A
Seagate Technology LLC
920 Disc Drive, Scotts Valley, California 95066-4544, USA
Publication Number: 100293070, Rev. A, Printed in USA
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement