Seagate Fibre Channel Interface, 77767496 User Manual

Fibre Channel Interface
Fibre Channel Interface
©1997–2004, Seagate Technology LLC All rights reserved
Publication number: 77767496, Rev. D
February 2004
Seagate and Seagate Technology are registered trademarks of Seagate Technology LLC. SeaTools, SeaFONE, SeaBOARD, SeaTDD, and the Wave logo are either registered trade­marks or trademarks of Seagate Technology LLC. Other product names are registered trade­marks 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 Sheets Affected
A 03/21/1997 L. Newman/J. Coomes and W. Whittington All B 08/01/2000 L. Newman/J. Coomes All C 01/03/2003 L. Newman No change except for new Seagate logo.
D 02/05/2004 K. Schweiss/J. Coomes and W. Paulsen All
Sheets Affected
Document migration/conversion only.
Contents
1.0 Publication overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 How to use this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 General interface description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.0 Introduction to Fibre Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Channels vs. networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 The advantages of Fibre Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.0 Fibre Channel standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1 Description of Fibre Channel levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1.1 FC-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1.2 FC-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1.3 FC-1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1.4 FC-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1.5 FC-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1.6 FC-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2 Relationship between the levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.3 Topology standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.4 FC Implementation Guide (FC-IG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.0 Introduction to topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1 Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.4 Arbitrated loop topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.5 Topology and port login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.6 Port bypass circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.0 Data encoding (FC-1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1 Encoding and decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 Buffer-to-buffer data transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 Data hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.1 Transmission words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.1.1 Data characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.1.2 Special characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4 Ordered sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4.1 Primitive signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4.1.1 Primitive signals used as frame delimiters. . . . . . . . . . . . . . . . . . . . . . 16
5.4.1.2 Primitive signals custom made for arbitrated loop topologies . . . . . . . 18
5.4.2 Primitive sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.4.2.1 Primitive sequences custom made for Arbitrated Loop topologies . . . 20
6.0 Framing protocol (FC-2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.1 Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.1.1 Frame structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.1.1.1 Start-of-frame (SOF) delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.1.1.2 Frame header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.1.1.3 Data field (payload) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1.1.4 CRC field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.1.1.5 End-of-frame (EOF) delimiter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2 Frame sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Fibre Channel Interface Manual, Rev. D v
6.3 Exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.4 Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.0 Classes of service (FC-2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.1 Class 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.2 Class 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.3 Class 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.3.1 Class 3 flow control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.4 Classes 4 and 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8.0 FC Arbitrated Loop concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.1 Arbitrated Loop physical address (AL_PA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.2 Loop initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.2.1 Loop initialization state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.2.2 Loop reinitialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.3 Accessing another L_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.3.1 Access fairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.3.2 Access unfairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.3.3 Clock skew management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.4 Loop ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.4.1 Maximum number of NL_Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
8.4.2 Blocking switch emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.4.3 Non-meshed environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
8.4.4 Assigned AL_PA values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.0 Fibre Channel link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
9.1 Basic link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
9.1.1 Abort Sequence (ABTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
9.1.2 Basic Accept (BA_ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.1.3 Basic Reject (BA_RJT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
9.2 Extended link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.2.1 Port Login (PLOGI) (02x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
9.2.2 Port Logout (PLOGO) (03x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
9.2.3 Fabric Login (FLOGI) (04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9.2.4 Process Login (PRLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.2.5 Process Logout (PRLO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
9.2.6 Third Party Process Logout (TPRLO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
9.2.7 Read Link Error Status Block (RLS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.2.8 Reinstate Recovery Qualifier (RRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.2.9 Port Discovery (PDISC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.2.10 Discover Address (ADISC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.2.11 Report Node Capabilities (RNC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.2.12 Link Service Reject (LS_RJT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.3 FC common transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.3.1 Register FC-4 Types Name Service (RFT_ID). . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.0 Enclosure services interface (ESI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.1 Discovery process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.2 8045 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.2.1 8045 ESI pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
10.3 8067 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.3.1 8067 ESI command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.3.2 8067 ESI interface pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
10.3.3 8067 information format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
10.4 ESI command transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.4.1 ESI read transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
vi Fibre Channel Interface Manual, Rev. D
10.4.2 ESI write transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
10.5 Enclosure-initiated ESI transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
10.5.1 EIE Discovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
10.5.2 EIE operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
10.5.3 Enclosure requested information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
10.5.3.1 Device Standard Inquiry Data page . . . . . . . . . . . . . . . . . . . . . . . . . 113
10.5.3.2 Device Address page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.5.3.3 Loop Position Map page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.5.3.4 Device Identification page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.5.3.5 Device Temperature page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.5.3.6 Port Parameters page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.5.3.7 Link Status page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
10.5.3.8 Spin-Down Control Action Specific Bits . . . . . . . . . . . . . . . . . . . . . . 123
10.5.3.9 ESI data validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
11.0 SCSI operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11.1 SCSI-FCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11.1.1 FC-4 mapping layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
11.2 FCP CMND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
11.2.1 Command Descriptor Block (CDB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
11.2.1.1 Operation Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
11.2.1.2 Logical block address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
11.2.1.3 Operation code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
11.2.1.4 Relative address bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
11.2.1.5 Transfer length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
11.2.1.6 Control byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
11.3 FCP XFER RDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
11.4 FCP DATA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
11.5 FCP RSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
11.5.1 Extended Sense Data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
11.5.1.1 Sense Key Specific Valid (SKSV) and Sense Key Specific . . . . . . . . 147
11.5.1.2 Current and deferred errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
11.6 Parameter rounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
12.0 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
12.1 Change Definition command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
12.2 Compare command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
12.3 Copy command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
12.4 Copy and Verify command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
12.5 Format Unit command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
12.5.1 Format Unit parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.5.1.1 Defect List header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.5.1.2 Initialization Pattern descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
12.6 Inquiry command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
12.6.1 Vital product data pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.6.2 Unit Serial Number page (80h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
12.6.3 Implemented Operating Definition page (81h) . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
12.6.4 Device Identification page (83h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.6.5 Firmware Numbers page (C0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
12.6.6 Date Code page (C1h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
12.6.7 Jumper Settings page (C2h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
12.6.8 Device Behavior page (C3h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
12.7 Lock-Unlock Cache (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
12.8 Lock-Unlock Cache (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
12.9 Log Select command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.10 Log Sense command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Fibre Channel Interface Manual, Rev. D vii
12.10.1 Error Counter pages, Write, Read, Read Reverse, and Verify (code 02, 03, 04, and 05h) 196
12.10.2 Non-Medium Error page (code 06h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
12.10.3 Temperature page (code 0Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
12.10.4 Device Self-Test Results Log page (code 10h) . . . . . . . . . . . . . . . . . . . . . . . . . . 201
12.10.5 Cache Statistics page (code 37h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
12.10.6 Factory Log page (code 3Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
12.11 Mode Select (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
12.12 Mode Select (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
12.13 Mode Sense (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.13.1 Unit Attention page (00h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
12.13.2 Error Recovery page (01h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
12.13.3 Disconnect/Reconnect Control page (02h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
12.13.4 Format Parameters page (03h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
12.13.5 Rigid Disc Drive Geometry Parameters page (04h) . . . . . . . . . . . . . . . . . . . . . . . 226
12.13.6 Verify Error Recovery page (07h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
12.13.7 Caching Parameters page (08h) for Mode Sense/Mode Select . . . . . . . . . . . . . . 230
12.13.8 Mode Sense/Mode Select Control Mode page (0Ah) . . . . . . . . . . . . . . . . . . . . . . 233
12.13.9 Notch page (0Ch) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
12.13.10 XOR Control Mode page (10h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
12.13.11 Fibre Channel Interface Control page (19h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
12.13.12 Power Condition page (1Ah) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
12.13.13 Informational Exceptions Control page (1Ch). . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
12.14 Mode Sense (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
12.15 Move Medium command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
12.16 Persistent Reserve In command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
12.16.1 Persistent Reserve In parameter data for read keys . . . . . . . . . . . . . . . . . . . . . . 250
12.16.2 Persistent Reserve In parameter data for read reservation . . . . . . . . . . . . . . . . . 251
12.17 Persistent Reserve Out command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
12.17.1 Persistent Reserve Out parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
12.18 Prefetch (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
12.19 Prefetch (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
12.20 Prevent/Allow Medium Removal command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
12.21 Read (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
12.22 Read (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
12.23 Read (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
12.24 Read (16) command (88h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
12.25 Read Buffer command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
12.25.1 Read Combined Descriptor Header and Data mode (000b) . . . . . . . . . . . . . . . . 271
12.25.2 Read Data mode (010b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
12.25.3 Read Buffer descriptor mode (011b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
12.26 Read Capacity (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
12.27 Read Capacity (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
12.28 Read Defect Data (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
12.29 Read Defect Data (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
12.30 Read Element Status command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
12.31 Read Long command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
12.32 Reassign Blocks command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
12.33 Receive Diagnostic Results command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
12.34 Release (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
12.35 Release (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
12.36 Report Device Identifier command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
12.37 Report LUNs command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
12.38 Request Sense command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
12.39 Reserve (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
viii Fibre Channel Interface Manual, Rev. D
12.40 Reserve (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
12.40.1 Logical unit reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
12.40.2 Third-party reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
12.40.3 Superseding reservations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
12.40.4 Parameter list format for third-party addressing. . . . . . . . . . . . . . . . . . . . . . . . . . 301
12.41 Rezero Unit command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
12.42 Search Data Equal command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
12.43 Search Data High command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
12.44 Search Data Low command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
12.45 Seek (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
12.46 Seek (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
12.47 Send Diagnostic command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
12.47.1 Supported Diagnostic page–Send Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
12.47.2 Translate Address page–Send Diagnostic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
12.47.3 Diagnostic page–Send Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
12.48 Set Device Identifier command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
12.49 Set Limits command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
12.50 Start/Stop Unit command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
12.51 Synchronize Cache (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
12.52 Synchronize Cache (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
12.53 Test Unit Ready command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
12.54 Verify (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
12.55 Verify (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
12.56 Verify (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
12.57 Write (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
12.58 Write (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
12.59 Write (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
12.60 Write (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
12.61 Write and Verify (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
12.62 Write and Verify (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
12.63 Write and Verify (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
12.64 Write Buffer command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
12.64.1 Combined Header and Data mode (000b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
12.64.2 Write Data Only mode (010b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
12.64.3 Download Microcode and Save mode (101b) . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
12.64.4 Download Microcode with Offsets and Save mode (111b) . . . . . . . . . . . . . . . . . 338
12.65 Write Long command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
12.66 Write Same (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
12.67 Write Same (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
12.68 XDRead (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
12.69 XDRead (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
12.70 XDWrite (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
12.71 XDWrite (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
12.72 XDWriteRead (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
12.73 XDWriteRead (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
12.74 XPWrite (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
12.75 XPWrite (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
13.0 Drive features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
13.1 Self-Monitoring Analysis and Reporting Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
13.2 Self-test operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
13.2.1 Default self-test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
13.2.2 Short and extended device self-tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
13.2.3 Device self-test modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
13.2.3.1 Foreground mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Fibre Channel Interface Manual, Rev. D ix
13.2.3.2 Background mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
13.2.3.3 Elements common to foreground and background self-test modes. . 357
14.0 Seagate Technology support services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
x Fibre Channel Interface Manual, Rev. D
List of Figures
Figure 1. Fibre Channel standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 2. Arbitrated loop topology (dual port private loop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 3. Port bypass circuit physical interconnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 4. Decimal value translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 5. Serialization process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 6. FC data hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Figure 7. Relationship between frames, sequences, and exchanges. . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 8. Frame structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 9. FC–SCSI exchanges, command and response transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 10. Loop initialization sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 11. Loop initialization state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figure 12. Loop state machine (simplified) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Figure 13. Discovery process flow diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Figure 14. ESI transfer phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Figure 15. ESI command transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Figure 16. ESI reads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Figure 17. ESI writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Figure 18. Enclosure Initiated ESI Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Figure 19. Prepare for Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Figure 20. EIE Operation Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Fibre Channel Interface Manual, Rev. D xi
xii Fibre Channel Interface Manual, Rev. D

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 publica­tion beginning in Chapter 2.

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 Corpora­tion’s Fibre Channel, Volume 1: The Basics written by Gary R. Stephens and Jan V. Dedek. Additional informa­tion 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. Volume 1 Product Manuals 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 SCSI­2 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, Volume 1, 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.
This specification is Volume 2 of a set of manuals that is made up of a separate drive Product Manual, Volume 1, and this manual. This Volume 2 manual is referenced by the Volume 1 Product Manual for Seagate Fibre Channel disc drives.
Fibre Channel Interface Manual, Rev. D 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 sin­gle channel transfer rate is 106 MB/second (commonly called 1 gigabit/sec) or 212 MB/second (commonly called 2 gigabit/sec). See the Volume 1 Product Manual for a definition of the electrical characteristics of the interface.
2 Fibre Channel Interface Manual, Rev. D

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 guide­lines 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 vari­ety 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 ter­minals, 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 superim­pose 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 Chan­nel frame has a field in the frame header to identify the protocol associated with that frame. Additional informa­tion about frames is available in Section 6.0 beginning on page 23.

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.
Fibre Channel Interface Manual, Rev. D 3
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 require­ment 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 cop­per 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. D

3.0 Fibre Channel standards

Figure 1 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.
FC-SB
Mapping of Single-Byte
Command Code Sets
FC-ATM
Mapping of
ATM
FC-AE
Avionics
Environment
FC-FP
Mapping of
HIPPI-FP
Fibre Channel Enhanced Physical
Fibre Channel Physical Interface
FC-IG Fibre Channel Implementation Guide
FC-LE
Link
Encapsulation
FC-PH-n
FC-PH
X3.230-1994
SCSI-FCP
SCSI-FC
Protocol
SCSI-GPP
Generic
Packetized
Protocol
FC-I3
Revision to
IPI-3 Disk std
Arbitrated Loop
Switch Fabric
FC-FG
General Fabric
Requirements
FC-I3
Revision to
IPI-3 Tape std
FC-AL-n
FC-SW
FC-GS
Generic Services
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. D 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 pro­tocol 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. D
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 proto­cols 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.
Fibre Channel Interface Manual, Rev. D 7
8 Fibre Channel Interface Manual, Rev. D

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 cer­tain 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 topolo-
gies 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 arbi­trated 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. D 9
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: Fibre Channel port types
Port type Location Associated topology
N_Port Node Point-to-point or Fabric
NL_Port Node in N_Port mode—Point-to-point or Fabric
F_Port Fabric Fabric
FL_Port Fabric in F_Port mode—Fabric
E_Port Fabric Internal Fabric Expansion
G_Port Fabric in F_Port mode—Fabric
GL_Port Fabric in F_Port mode—Fabric
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.
in NL_Port mode—Arbitrated Loop
in FL_Port mode—Arbitrated Loop
in E_Port mode—Internal fabric expansion
in FL_Port mode—Arbitrated Loop in E_Port mode—Internal fabric expansion
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 arbi­trated 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 Fig­ure 2.
Links carry the data frames between nodes. Each link can handle multiple frame types; therefore, frame multi­plexing 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.

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.
10 Fibre Channel Interface Manual, Rev. D
The arbitrated loop topology is used to connect from two to 126 node ports. See Figure 2.
NL_Port 6
(Fibre A)
Node A
NL_Port 6
(Fibre B)
NL_Port 5
(Fibre A)
Node F
NL_Port 5
(Fibre B)
NL_Port 4
(Fibre A)
Node E
NL_Port 4
(Fibre B)
Figure 2. Arbitrated loop topology (dual port private loop)
NL_Port 1
(Fibre A)
Node B
NL_Port 1
(Fibre B)
NL_Port 2
(Fibre A)
Node C
NL_Port 2
(Fibre B)
NL_Port 3
(Fibre A)
Node D
NL_Port 3
(Fibre B)
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.

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 pro­viding 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 rela­tionship between the PBC and drive.
Fibre Channel Interface Manual, Rev. D 11
Port Bypass
From Previous
Drive
Port Bypass
Circuit N–1
Drive N–1
Figure 3. Port bypass circuit physical interconnect
Circuit
MUX
Select
SerialInSerial
Out
Drive N
To Next
Drive
Port Bypass
Circuit N+1
Drive N+1
12 Fibre Channel Interface Manual, Rev. D

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 align­ment so the receiving node will know what to do with the bytes. Encoding also improves the transmission char­acteristics 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:
Kxx.y
y = the decimal value of the most significant 3 bits (HGF)
xx = the decimal value of the least significant 5 bits (EDCBA)
y xx
Example: BCh = 10111100 (binary) = 101 11100 (binary grouped)
=
=
K28.5
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 possi­ble with the 10-bit space, 256 8-bit byte data characters are mapped, along with 1 control character. This map­ping 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:
• 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.
5 28 (decimal values)
Fibre Channel Interface Manual, Rev. D 13
• If the number of ones and zeros in a sub-block are equal, running disparity is neutral and the value of run­ning 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 dis­parity characters must alternate, even if separated by a neutral disparity character. See Table 2.
Table 2: Running disparity examples
Sub-blocks
Val id?12345
+N–+– Yes
+N+ No
++ No
–– No

5.2 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 num­ber of buffers in each node does not have to be equal. Each buffer is the size a frame may transfer in its pay­load. 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.
Transmit
Buffer
8-bit
8-bit
8-bit
byte
byte
8-bit character 10-bit character
byte
8-bit byte
8B/10B
Encoder
Serializer
Serial transfer
10-bit character
Deserializer
8B/10B
Decoder
Receive
Buffer
8-bit
8-bit
byte
byte
8-bit character
8-bit byte
8-bit byte
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.
14 Fibre Channel Interface Manual, Rev. D

5.3 Data hierarchy

A hierarchy of data types is presented in Figure 6.
Transmission word (40 bits — 4 10-bit encoded bytes)
8B/10B encoded byte 1 (10 bits)
Byte (8 bits)
Bit Bit Bit Bit Bit
Figure 6. FC data hierarchy
• • •
Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit
8B/10B encoded byte 4 (10 bits)
Byte (8 bits)
Bit Bit Bit Bit Bit

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 transmis­sion 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 spe­cial 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. D 15
Table 3: Primitive signals
Beginning running
Primitive signal Signal
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
disparity Ordered set (FC-1) Ordered set (hex)
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-to­buffer 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 sec­ond 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.
16 Fibre Channel Interface Manual, Rev. D
Loading...
+ 402 hidden pages