Book.bk 77767496 77767496d
77767496 to the manual c6e51e42-b2cc-4201-86d6-9dee71b1451d
User Manual: 77767496
Open the PDF directly: View PDF .
Page Count: 432
Download | |
Open PDF In Browser | View PDF |
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 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 Sheets Affected Sheets Affected A B C 03/21/1997 08/01/2000 01/03/2003 L. Newman/J. Coomes and W. Whittington L. Newman/J. Coomes L. Newman D 02/05/2004 K. Schweiss/J. Coomes and W. Paulsen All All No change except for new Seagate logo. Document migration/conversion only. All Contents 1.0 Publication overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 How to use this manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 General interface description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 2.0 Introduction to Fibre Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Channels vs. networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 The advantages of Fibre Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 3.0 Fibre Channel standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Description of Fibre Channel levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1.1 FC-0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1.2 FC-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1.3 FC-1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1.4 FC-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1.5 FC-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1.6 FC-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Relationship between the levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Topology standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 FC Implementation Guide (FC-IG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 6 6 6 6 6 6 6 7 7 7 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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Encoding and decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Buffer-to-buffer data transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Data hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Transmission words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1.1 Data characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1.2 Special characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Ordered sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Primitive signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1.1 Primitive signals used as frame delimiters. . . . . . . . . . . . . . . . . . . . . . 5.4.1.2 Primitive signals custom made for arbitrated loop topologies . . . . . . . 5.4.2 Primitive sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.2.1 Primitive sequences custom made for Arbitrated Loop topologies . . . 13 13 14 15 15 15 15 15 15 16 18 19 20 6.0 Framing protocol (FC-2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Frame structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1.1 Start-of-frame (SOF) delimiter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1.2 Frame header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1.3 Data field (payload) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1.4 CRC field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1.5 End-of-frame (EOF) delimiter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Frame sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 23 23 24 24 28 28 28 28 Fibre Channel Interface Manual, Rev. D v 6.3 6.4 Exchanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Credit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 7.0 Classes of service (FC-2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 Class 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Class 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3 Class 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Class 3 flow control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Classes 4 and 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 31 31 32 32 8.0 FC Arbitrated Loop concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Arbitrated Loop physical address (AL_PA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Loop initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Loop initialization state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.2 Loop reinitialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Accessing another L_Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 Access fairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 Access unfairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.3 Clock skew management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Loop ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.1 Maximum number of NL_Ports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.2 Blocking switch emulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.3 Non-meshed environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4.4 Assigned AL_PA values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 35 45 46 46 47 48 48 48 48 49 49 50 9.0 Fibre Channel link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Basic link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Abort Sequence (ABTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.2 Basic Accept (BA_ACC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.3 Basic Reject (BA_RJT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 Extended link services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.1 Port Login (PLOGI) (02x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.2 Port Logout (PLOGO) (03x) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.3 Fabric Login (FLOGI) (04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.4 Process Login (PRLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.5 Process Logout (PRLO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.6 Third Party Process Logout (TPRLO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.7 Read Link Error Status Block (RLS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.8 Reinstate Recovery Qualifier (RRQ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.9 Port Discovery (PDISC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.10 Discover Address (ADISC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.11 Report Node Capabilities (RNC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2.12 Link Service Reject (LS_RJT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 FC common transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.1 Register FC-4 Types Name Service (RFT_ID). . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 52 53 54 55 56 58 66 67 72 77 81 85 88 90 91 94 96 97 99 10.0 Enclosure services interface (ESI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.1 Discovery process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 8045 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2.1 8045 ESI pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 8067 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.1 8067 ESI command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.2 8067 ESI interface pinouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3.3 8067 information format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4 ESI command transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.4.1 ESI read transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi 101 101 102 103 104 104 105 105 106 106 Fibre Channel Interface Manual, Rev. D 10.4.2 ESI write transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enclosure-initiated ESI transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.1 EIE Discovery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.2 EIE operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3 Enclosure requested information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.1 Device Standard Inquiry Data page . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.2 Device Address page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.3 Loop Position Map page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.4 Device Identification page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.5 Device Temperature page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.6 Port Parameters page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.7 Link Status page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.5.3.8 Spin-Down Control Action Specific Bits . . . . . . . . . . . . . . . . . . . . . . 10.5.3.9 ESI data validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 107 107 109 110 113 114 116 117 118 119 120 123 124 11.0 SCSI operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 SCSI-FCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 FC-4 mapping layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 FCP CMND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Command Descriptor Block (CDB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1.1 Operation Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1.2 Logical block address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1.3 Operation code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1.4 Relative address bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1.5 Transfer length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1.6 Control byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 FCP XFER RDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 FCP DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5 FCP RSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.1 Extended Sense Data format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.5.1.1 Sense Key Specific Valid (SKSV) and Sense Key Specific . . . . . . . . 11.5.1.2 Current and deferred errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.6 Parameter rounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 125 125 126 130 130 132 132 132 132 133 134 137 140 145 147 153 154 12.0 Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 Change Definition command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Compare command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.3 Copy command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.4 Copy and Verify command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5 Format Unit command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5.1 Format Unit parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5.1.1 Defect List header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5.1.2 Initialization Pattern descriptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6 Inquiry command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.1 Vital product data pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.2 Unit Serial Number page (80h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.3 Implemented Operating Definition page (81h) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.4 Device Identification page (83h). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.5 Firmware Numbers page (C0h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.6 Date Code page (C1h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.7 Jumper Settings page (C2h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6.8 Device Behavior page (C3h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.7 Lock-Unlock Cache (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.8 Lock-Unlock Cache (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.9 Log Select command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.10 Log Sense command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 160 160 160 160 161 164 164 165 168 173 174 175 176 179 180 181 183 184 185 187 190 10.5 Fibre Channel Interface Manual, Rev. D vii 12.11 12.12 12.13 12.14 12.15 12.16 12.17 12.18 12.19 12.20 12.21 12.22 12.23 12.24 12.25 12.26 12.27 12.28 12.29 12.30 12.31 12.32 12.33 12.34 12.35 12.36 12.37 12.38 12.39 viii 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 Mode Select (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Mode Select (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 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 Mode Sense (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Move Medium command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 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 Persistent Reserve Out command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 12.17.1 Persistent Reserve Out parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Prefetch (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Prefetch (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Prevent/Allow Medium Removal command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Read (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Read (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 Read (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Read (16) command (88h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 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 Read Capacity (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Read Capacity (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Read Defect Data (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Read Defect Data (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 Read Element Status command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Read Long command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Reassign Blocks command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Receive Diagnostic Results command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Release (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Release (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Report Device Identifier command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Report LUNs command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Request Sense command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Reserve (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Fibre Channel Interface Manual, Rev. D 12.40 Reserve (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.40.1 Logical unit reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.40.2 Third-party reservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.40.3 Superseding reservations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.40.4 Parameter list format for third-party addressing. . . . . . . . . . . . . . . . . . . . . . . . . . Rezero Unit command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Search Data Equal command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Search Data High command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Search Data Low command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seek (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seek (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Send Diagnostic command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.47.1 Supported Diagnostic page–Send Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.47.2 Translate Address page–Send Diagnostic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.47.3 Diagnostic page–Send Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Device Identifier command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Limits command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Start/Stop Unit command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronize Cache (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronize Cache (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test Unit Ready command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verify (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verify (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verify (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write (6) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write and Verify (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write and Verify (12) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write and Verify (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Buffer command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.64.1 Combined Header and Data mode (000b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.64.2 Write Data Only mode (010b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.64.3 Download Microcode and Save mode (101b) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.64.4 Download Microcode with Offsets and Save mode (111b) . . . . . . . . . . . . . . . . . Write Long command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Same (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Same (16) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XDRead (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XDRead (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XDWrite (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XDWrite (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XDWriteRead (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XDWriteRead (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XPWrite (10) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XPWrite (32) command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 300 300 300 301 302 302 302 302 302 303 304 307 308 309 310 312 313 314 315 316 317 318 320 322 324 326 328 330 331 333 335 337 337 337 338 339 340 341 342 343 345 347 349 350 352 353 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 Foreground mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 355 355 355 355 356 356 12.41 12.42 12.43 12.44 12.45 12.46 12.47 12.48 12.49 12.50 12.51 12.52 12.53 12.54 12.55 12.56 12.57 12.58 12.59 12.60 12.61 12.62 12.63 12.64 12.65 12.66 12.67 12.68 12.69 12.70 12.71 12.72 12.73 12.74 12.75 13.0 Fibre Channel Interface Manual, Rev. D ix 13.2.3.2 13.2.3.3 14.0 Background mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Elements common to foreground and background self-test modes . . 357 Seagate Technology support services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 x Fibre Channel Interface Manual, Rev. D 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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Port bypass circuit physical interconnect. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Decimal value translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Serialization process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 FC data hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Relationship between frames, sequences, and exchanges. . . . . . . . . . . . . . . . . . . . . . . . . . 23 Frame structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 FC–SCSI exchanges, command and response transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Loop initialization sequences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Loop initialization state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Loop state machine (simplified) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Discovery process flow diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 ESI transfer phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 ESI command transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 ESI reads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 ESI writes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Enclosure Initiated ESI Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Prepare for Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 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 publication 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 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. 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 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, 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 single 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 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 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 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. 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 FC-LE Link Encapsulation SCSI-FCP SCSI-FC Protocol SCSI-GPP Generic Packetized Protocol FC-I3 FC-I3 Revision to Revision to IPI-3 Disk std IPI-3 Tape std FC-AL-n Arbitrated Loop FC-PH-n Fibre Channel Enhanced Physical FC-PH Fibre Channel Physical Interface X3.230-1994 FC-SW Switch Fabric FC-FG General Fabric Requirements FC-IG Fibre Channel Implementation Guide 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 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. 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 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. 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 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. 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 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. 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) NL_Port 1 (Fibre A) NL_Port 6 (Fibre B) NL_Port 1 (Fibre B) NL_Port 5 (Fibre A) NL_Port 2 (Fibre A) NL_Port 5 (Fibre B) NL_Port 2 (Fibre B) NL_Port 4 (Fibre A) NL_Port 3 (Fibre A) NL_Port 4 (Fibre B) NL_Port 3 (Fibre B) Node A Node B Node F Node C Node E Figure 2. Node D 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. 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. Fibre Channel Interface Manual, Rev. D 11 Port Bypass Circuit From Previous Drive Port Bypass Circuit N–1 To Next Drive MUX Port Bypass Circuit N+1 Select Drive N–1 Serial In Serial Out Drive N+1 Drive N Figure 3. 12 Port bypass circuit physical interconnect 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 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: 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) = Figure 4. = K28.5 5 28 (decimal values) 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: • 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. 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 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 1 2 3 4 5 Valid? + N – + – Yes + N + + + No – – No 5.2 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. Transmit Buffer Receive Buffer 8-bit 8-bit 8-bit 8-bit byte byte byte byte 8-bit 8-bit 8-bit 8-bit byte byte byte byte 8-bit character Serializer Figure 5. 8B/10B 10-bit character Decoder 8B/10B Encoder 10-bit character Serial transfer 8-bit character Deserializer 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. 1This 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) 8B/10B encoded byte 4 (10 bits) Byte (8 bits) Bit Bit Bit Bit Bit Bit Figure 6. FC data hierarchy 5.3.1 Transmission words Byte (8 bits) ••• Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit 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. D 15 Table 3: Primitive signals Primitive signal Signal Beginning running disparity 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 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-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. 16 Fibre Channel Interface Manual, Rev. D 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. D 17 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 on page 47). It is also used to assign a loop master during initialization. 18 Fibre Channel Interface Manual, Rev. D 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. 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 35 for additional information about LIPs. Fibre Channel Interface Manual, Rev. D 19 Table 6: Primitive sequences Primitive sequences Sequence Beginning running disparity 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 Ordered set (FC-1) Ordered set (hex) 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. 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 FC-AL primitive sequence 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 20 Ordered set (FC-1) Ordered set (hex) Fibre Channel Interface Manual, Rev. D Note. 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. 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. Fibre Channel Interface Manual, Rev. D 21 22 Fibre Channel Interface Manual, Rev. D 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. Navigation assistance The field descriptions that are provided for most tables have sidebar labels which identify the table they are associated with. This helps orient you when nested tables occur within a section. Sidebar example Table number 1 Field definitions (listed alphabetically) Field name The sidebar (black background with reversed text) identifies this field as being associated with Table 1. 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. Frame 1 Frame 2 Frame... Frame n Frame 1 Frame 2 Frame... Frame n Frame 1 Frame 2 Frame... Frame n Sequence 1 Sequence 2 Sequence n Exchange 1 Figure 7. Relationship between frames, sequences, and exchanges 6.1.1 Frame structure Exchange 2... 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. Fibre Channel Interface Manual, Rev. D 23 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 Fill Words Transmission Words 4 24 0 to 2112 SOF Frame Header Payload Data Field 1 6 0 to 528 Figure 8. Frame structure 6.1.1.1 Start-of-frame (SOF) delimiter 4 Fill Bytes CRC 1 4 24 Fill EOF Words 1 6 Start-of-frame (SOF) delimiters signal the beginning of a frame. See “Frame delimiters” on page 17. 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: Frame header format Byte Word 0 (bits 31 - 24) 0 R_CTL D_ID 1 Reserved S_ID 2 Type F_CTL 3 SEQ_ID 4 5 Table number 8 1 (bits 23 - 16) 2 (bits 15 - 08) DF_CTL OX_ID 3 (bits 07 - 00) SEQ_CNT RX_ID Offset Field definitions (listed alphabetically) 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 8 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. D_ID (Destination Identifier) The 3-byte N_Port address to which the frame is being sent. 24 Fibre Channel Interface Manual, Rev. D 8 F_CTL (Frame Control) This 3-byte (24-bit) field contains control information relating to the frame content as defined below. Table 9: 8 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). Offset 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. Fibre Channel Interface Manual, Rev. D 25 8 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. 8 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 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 10: Routing Control values High order bits Low order bits Use Type 08h, SCSI FCP, Device Data frames 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 0000 Type 01h, Extended link service 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 0010 Type 00h, Basic link service 26 Fibre Channel Interface Manual, Rev. D Table 10: Routing Control values (Continued) High order bits 1000 8 Low order bits Use 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 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. 8 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. 8 SEQ_ID (Sequence Identifier) This field uniquely identifies frames in a non-streamed sequence or when only one sequence is open. 8 S_ID (Source Identifier) The 3-byte address of the N_Port or F_Port originating the frame. 8 Type (Data Structure Type) This 1-byte field identifies the protocol of the frame contents as described below: Table 11: 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. D 27 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 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 17. This page contains a list of the various types of EOF delimiters. 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. 28 Fibre Channel Interface Manual, Rev. D 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. SCSI Write SCSI Read Target Initiator Target Initiator Command Command Read Data Write Data Optional Transfer Ready’s Exchange Exchange Transfer Ready Optional Read Data Write Data Response Command Transfer Initiator Target Response Response Transfer Initiator Target Arb Arb OPN OPN Y/s RD RD Y/s Comm and CLS Figure 9. FC–SCSI exchanges, command and response transfers 6.4 Credit onse Resp CLS 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 Fibre Channel Interface Manual, Rev. D 29 the source N_Port. This type of credit is not used in Class 3 therefore it is not applicable to Seagate drives. 30 Fibre Channel Interface Manual, Rev. D 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) Fibre Channel Interface Manual, Rev. D 31 • EE_Credit not required • 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. 32 Fibre Channel Interface Manual, Rev. D 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 12. Seven of the 134 neutral disparity characters are reserved (see Table 13 on page 35). This leaves 127 valid addresses. Table 12: 8B/10B characters with neutral disparity D xx.y y xx 0 1 2 3 4 5 6 7 Hex value 00 * * * 00, 80, E0 01 * * * 01, 81, E1 02 * * * 02, 82, E2 * 03 04 * * * * * * 23, 43, 63, A3, C3 * 04, 84, E4 05 * * * * * 25, 45, 65, A5, C5 06 * * * * * 26, 46, 66, A6, C6 07 * * * * * 27, 47, 67, A7, C7 08 09 * * * * * * * Fibre Channel Interface Manual, Rev. D * 08, 88, E8 29, 49, 69, A9, C9 33 Table 12: 8B/10B characters with neutral disparity D xx.y y xx 0 1 2 3 4 5 6 7 Hex value 10 * * * * * 2A, 4A, 6A, AA, CA 11 * * * * * 2B, 4B, 6B, AB, CB 12 * * * * * 2C, 4C, 6C, AC, CC 13 * * * * * 2E, 4E, 6E, AE, CE 14 * * * * * 2E, 4E, 6E, AE, CE 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 13 on page 35). 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). 34 Fibre Channel Interface Manual, Rev. D Table 13: AL_PA addressing Values (hex) 00 Use 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 14. Table 14: 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. 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. Fibre Channel Interface Manual, Rev. D 35 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. 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. Start_of_Frame delimiter (4 bytes) SOFil Frame_Header (24 bytes) 22xxxxxx 00xxxxxx 01380000 00000000 FFFFFFFF 00000000 where ‘xxxxxx’ is hex ‘000000’ for an FL_Port and hex ‘0000EF’ for an NL_Port. Payload (12, 20, or 132 bytes) Loop Initialization Identifier* 8-byte Port_Name 16-byte AL_PA bit map 128-byte AL_PA position map (1-byte offset followed by up to 127 AL_PAs) *The loop initialization identifier is one of the following: 11010000h = LISM — Select master based on 8-byte Port_Name (12-byte payload with an 8-byte Port_Name) 11020000h = LIFA — Fabric Assigned AL_PA bit map (20-byte payload with a 16-byte AL_PA bit map) LIFA is used to gather all fabric-assigned AL_PAs. 11030000h = LIPA — Previously-acquired AL_PA bit map (20-byte payload with a 16-byte AL_PA bit map) LIPA is used to gather all previously-acquired AL_PAs. 11040000h = LIHA — Hard Assigned AL_PA bit map (20-byte payload with a 16-byte AL_PA bit map) LIHA is used to gather all hard assigned AL_PAs (usually set with configuration jumpers on the host backpanel). 11050000h = LISA — Soft Assigned AL_PA bit map (20-byte payload with a 16-byte AL_PA bit map)** LISA is used to assign any remaining AL_PA bits. 11060000h = LIRP — Report AL_PA position map (132-byte payload with a 128-byte AL_PA position map) LIRP is used to record the relative positions of all L_Ports on the loop. 11070000h = LILP — Loop AL_PA position map (132-byte payload with a 128-byte AL_PA position map) LILP is used to inform all L_Ports of their relative positions on the loop from the perspective of the loop master. **LISA contains the AL_PA mapping field in byte 2 (01h) to indicate that all L_Ports are able to enter their position into the LIRP AL_PA position map. The 01h value in byte 2 may be changed to 00h to bypass the LIRP and LILP sequences. Cyclic Redundancy Check (4 bytes) CRC End_of_Frame delimiter (4 bytes) EOFt Figure 10. 36 Loop initialization sequences Fibre Channel Interface Manual, Rev. D 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 15. 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 15: 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). Fibre Channel Interface Manual, Rev. D 37 Loop Initialization Select Master (LISM) 12-byte payload 11010000 8-byte port name 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. 38 Fibre Channel Interface Manual, Rev. D 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. 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. Fibre Channel Interface Manual, Rev. D 39 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. 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 40 E8 D6 E2 6A 5F 08 FF ... FF Fibre Channel Interface Manual, Rev. D 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: 1Frames 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). Fibre Channel Interface Manual, Rev. D 41 - 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 12 and 16. Table 16: 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 16 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. 42 Fibre Channel Interface Manual, Rev. D LISA The L_Port primes the AL_PA bit map with the AL_PA bit map of the previous LIHA loop initialization 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 16 and 13). 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 Fibre Channel Interface Manual, Rev. D 43 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. 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 42, 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. • 44 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. D 8.2.1 Loop initialization state machine Start Retry Initializing Send LIPs * Exit OLD-PORT State LIP Received OPEN-INIT: Transmit received LIPs Step (1) Select Initial AL_PA LISM rcvd > LISM xmit Step (2) Select Loop Master LIP received after AL_TIME Transmit LISM Receive LISM/ARB Compare LISMs LISM rcvd = LISM xmit LIP or LP_TOV timeout occurred between events Notes: LISM rcvd < LISM xmit Loop Master Wait Master Transmit ARB(F0) Receive ARB(F0) Retransmit all received frames Step (3) **Transmit LIFA Receive LIFA Step (4) Receive LIFA **Transmit LIFA **Transmit LIPA Receive LIPA Receive LIPA **Transmit LIPA **Transmit LIHA Receive LIHA Receive LIHA **Transmit LIHA **Transmit LISA Recive LISA Receive LISA **Transmit LISATransmit CLS Receive CLS Receive CLS Transmit CLS CLS received LIP or LP_TOV timeout occurred before ARB(F0) rcvd LIP or LP_TOV timeout occurred between events CLS transmitted * Not supported by drives covered by this manual. ** The L_Port must set the appropriate AL_PA bit before transmitting the Loop Initialization Sequences. < > implies that these are optional. Figure 11. AL_PA Step (5) EXIT NL_Port: Login if required no AL_PA No AL_PA was available. WAIT and retry 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. Fibre Channel Interface Manual, Rev. D 45 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. ENTER HERE REQ(initialize) REQ(old-port) INITIALIZATION OLD-PORT Received CLS REQ(bypass L_Port) MONITORING REQ(arbritrate as x) ARBITRATING Rcvd my ARBx REQ(monitor) (when allowed) ARB_PEN = 1 Transmit CLS ARBITRATION WON TRANSFER XMITTED CLOSE Transmit CLS Transmit OPNy|OPNr OPEN OPENED Rcvd CLS ARB_PEND = 1 RECEIVED CLOSE Received CLS Received OPNy 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 1Fill 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. 46 Fibre Channel Interface Manual, Rev. D 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. Fibre Channel Interface Manual, Rev. D 47 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. 48 Fibre Channel Interface Manual, Rev. D 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. Fibre Channel Interface Manual, Rev. D 49 8.4.4 Assigned AL_PA values All AL_PAs that are used in the loop protocol are listed in table 12. The AL_PAs are assigned to the 16-byte AL_PA bit maps of table 16 as shown in table 17. Table 17: 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. 50 Fibre Channel Interface Manual, Rev. D 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. Navigation assistance The field descriptions that are provided for most tables have sidebar labels which identify the table they are associated with. This helps orient you when nested tables occur within a section. Sidebar example Table number 1 Field definitions (listed alphabetically) Field name The sidebar (black background with reversed text) identifies this field as being associated with Table 1. Fibre Channel Interface Manual, Rev. D 51 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 18: Bit Byte 0 1 Basic link services header 7 6 5 4 3 2 1 R_CTL (MSB) 2 D_ID 3 4 0 (LSB) 0 0 0 0 0 0 0 0 Reserved 5 (MSB) 6 S_ID 7 8 (LSB) 0 0 0 0 0 0 0 0 Type 9 (MSB) 10 F_CTL 11 12 13 (LSB) SEQ_ID 0 0 0 0 0 0 0 0 DF_CTL 14 (MSB) SEQ_CNT 15 16 (LSB) (MSB) OX_ID 17 (LSB) 18 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 RX_ID 20 (MSB) 21 Parameter 22 23 Table number 18 (LSB) Field definitions (listed alphabetically) 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. 52 Fibre Channel Interface Manual, Rev. D 18 DF_CTL (Data Field Control) Set to 00h to indicate no optional Fibre Channel headers are used. 18 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. 18 OX_ID (Originator Exchange Identifier) The OX_ID for the sequence being identified by the basic link service. 18 Parameter Not used for basic link services. 18 R_CTL (Routing Control) The basic link service frame. See the description of each basic link service below for the R_CTL value. 18 RX_ID (Responder Identifier) Not used by the drive. The value of FFFFh indicates the RX_ID is not being used. 18 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 the drive. 18 SEQ_CNT (Sequence Count) Set to 0000h to indicate this is the first frame of the Fibre Channel sequence. 18 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. 18 Type 00h 9.1.1 Used for all basic link services frames. 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. D 53 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 19: Bit Byte BA_ACC Payload 7 0 SEQ_ID Valid 1 Last SEQ_ID 2 6 5 4 3 2 1 0 (MSB) Reserved 3 (LSB) 4 (MSB) OX_ID Aborted 5 (LSB) 6 (MSB) RX_ID Aborted 7 (LSB) 8 (MSB) Lowest SEQ_CNT 9 (LSB) 10 (MSB) Highest SEQ_CNT 11 Table number 19 (LSB) Field definitions (listed alphabetically) Highest SEQ_CNT (Highest Sequence Count) FFFFh. 19 Last SEQ_ID (Last Sequence Identifier) Not used. 19 Lowest SEQ_CNT (Lowest Sequence Count) 0. 19 OX_ID Aborted (Originator Exchange Identifier Aborted) The same value as received in the ABTS. 19 RX_ID Aborted (Responder Identifier Aborted) FFFFh. 19 SEQ_ID Valid (Sequence Identifier Valid) 00h 54 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. Fibre Channel Interface Manual, Rev. D 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 20: BA_RJT Payload Bit Byte Table number 20 Reserved 1 Reason Code 2 Reason Explanation 3 Vendor Unique 5 4 3 2 1 0 Field definitions (listed alphabetically) Reason Code (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 20 6 0 03h 20 7 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. D 55 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 21: Extended link services header Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 0 0 0 1 X R_CTL 1 (MSB) 2 D_ID 3 4 (LSB) 0 0 0 0 0 0 0 0 Reserved 5 (MSB) S_ID 6 7 8 (LSB) 0 0 0 0 0 0 0 1 Type 9 (MSB) 10 F_CTL 11 12 13 (LSB) SEQ_ID 0 0 0 0 0 0 0 0 DF_CTL 14 (MSB) SEQ_CNT 15 16 (LSB) (MSB) OX_ID 17 (LSB) 18 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 RX_ID 20 (MSB) 21 Parameter 22 23 56 (LSB) Fibre Channel Interface Manual, Rev. D Table number 21 Field definitions (listed alphabetically) D_ID (Destination Identifier) Frame destination address. 21 DF_CTL (Data Field Control) Set to 00 to indicate no optional Fibre Channel headers are used. 21 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. 21 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. 21 Parameter Not used for extended link services. 21 21 R_CTL (Routing Control) 22h Extended link services and unsolicited control for extended link service request, PLOGI, PRLI, RLS, RRQ, and PDISC. 23h Extended link services and solicited control for replies, ACC and LS_RJT. RX_ID (Responder Identifier) Not used by the drive. The value of FFFFh indicates the RX_ID is not being used. 21 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. 21 SEQ_CNT (Sequence Count) Not checked by the drive. For extended link services replies and requests sent by the drive, SEQ_CNT equals 0000. 21 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. 21 Type 01h All extended link services frames. Fibre Channel Interface Manual, Rev. D 57 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 22: PLOGI Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4-19 N_Port Common Service Parameters 20-27 Port Name 28-35 Node Name 36-51 Class 1 Service Parameters 52-67 Class 2 Service Parameters 68-83 Class 3 Service Parameters 84-99 Reserved 100-115 Table number 22 Vendor Version Field definitions (listed alphabetically) Class 1 and 2 Service Parameters May be present in the PLOGI frame. The drive checks only for class 3 service parameters. 22 Class 3 Service Parameters Required by the drive. See Table 26 on page 62. 22 LS Command Code (Link Services Command Code) 03h 22 PLOGI payload. N_Port Common Service Parameters See Table 24 on page 60. 22 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 23. 58 Fibre Channel Interface Manual, Rev. D Table 23: Port/Node Name format Bit Byte 7 6 5 4 3 0 0 0 1 0 (MSB Network Address ID 2 (LSB) (MSB) 3 Company Identifier Assigned by IEEE 4 5 (LSB) (MSB) 6 Unique Drive Identifier Assigned by Seagate 7 23 0 N_Port Identifier 1 2 1 (LSB) Company Identifier Assigned by IEEE This Seagate-unique value is registered with the IEEE. 23 N_Port Identifier Used by the drive to identify the name of a specific port or node. 23 000h Drive Node Name 100h Port A 200h Port B Network Address ID 2h 23 Defines the name as the IEEE extended format. Unique Drive Identifier Assigned by Seagate Assigned by Seagate. Uniquely assigned to each disc drive. 22 Vendor Version Vendor-unique. Fibre Channel Interface Manual, Rev. D 59 Table 24: Bit Byte N_Port Common Service Parameters 7 6 5 0 Highest ANSI FC-PH Version 1 Lowest ANSI FC-PH Version 2 4 3 2 1 0 (MSB) Buffer to Buffer Credit 3 4 (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 5 0 0 0 0 0 0 (MSB) Reserved 6 0 0 0 Reserved Receive Data Field Size 7 8 (LSB) Reserved 9 (MSB) 10 (MSB) Total Concurrent Sequences (LSB) Relative Offset by Info Category 11 12 (LSB) (MSB) 13 E_D_TOV (Pt to Pt) 14 15 Table number 24 (LSB) Field definitions (listed alphabetically) Buffer to Buffer Credit 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. 60 Fibre Channel Interface Manual, Rev. D 24 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 25: 24 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. E_D_TOV (Pt to Pt) (Error Detect Time Out Value) This field is only for point-to-point connections and is not valid for loop operation. 24 Highest ANSI FC-PH Version and Lowest ANSI FC-PH Version 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 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. 24 Receive Data Field Size 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. 24 Relative Offset by Info Category 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). 24 Total Concurrent Sequences 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. Fibre Channel Interface Manual, Rev. D 61 Table 26: Class Service Parameters Bit Byte 7 6 0 Class Valid Intermix Mode 5 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 1 2 Reserved Initial Process Associator X_ID Reassignment ACK_0 Capable Initiator Control 3 Reserved 4 ACK_0 Capable ACK_N Capable X_ID Interlock 0 Reserved Error Policy Categories per Sequence Recipient Control 5 6 Reserved 0 0 0 0 (MSB) Reserved Receive Data Field Size 7 8 (LSB) Reserved 9 (MSB) 10 0 Concurrent Sequences (LSB) (MSB) N_Port End to End Credit 11 12 13 Table number 26 (LSB) Reserved (MSB) 14 Reserved 15 Reserved Open Sequences per Exchange (LSB) Field definitions (listed alphabetically) Concurrent Sequences Must be greater than 0. The drive returns FFh in the PLOGI ACC. 62 Fibre Channel Interface Manual, Rev. D 26 Initiator Control 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 27: 26 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. N_Port End to End Credit Not valid for class 3. 26 Open Sequences per Exchange 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. 26 Receive Data Field Size 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 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. 26 Recipient Control 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 28: 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. Fibre Channel Interface Manual, Rev. D 63 Table 28: 26 Recipient Control fields Option Drive requirement 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. Service Options These bits are only checked for class 3 service parameters. The drive returns an LS_RJT to PLOGI requests that do not satisfy the drive’s requirement. Table 29: Service Option fields 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. 64 Fibre Channel Interface Manual, Rev. D Table 30: Port Login Accept Payload (PLOGI ACC) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4-19 N_Port Common Service Parameters 20-27 Port Name 28-35 Node Name 36-51 Class 1 Service Parameters 52-67 Class 2 Service Parameters 68-83 Class 3 Service Parameters 84-99 Reserved 100-115 Table number 30 Vendor Version Field definitions (listed alphabetically) Class 1 and 2 Service Parameters 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. 30 Class 3 Service Parameters Sent by the drive. See Table 26 for details. 30 LS Command Code (Link Services Command Code) 02h 30 PLOGI ACC. N_Port Common Service Parameters See Table 24. 30 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 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 23. 30 Vendor Version Vendor-unique. Not supported. Fibre Channel Interface Manual, Rev. D 65 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: LOGO Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code Reserved 4 5 N_Port Identifier 6 7 8 Port Name : 15 Table number 31 Field definitions (listed alphabetically) LS Command Code (Link Services Command Code) 05h 31 PLOGO Payload. N_Port Identifier The three-byte address used in the D_ID and S_ID fields of the frame headers. 31 Port Name The unique eight-byte address assigned to the port. Table 32: PLOGO Accept Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code Table number 32 Field definitions (listed alphabetically) LS Command Code (Link Services Command Code) 02h 66 PLOGO Accept. Fibre Channel Interface Manual, Rev. D 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: FLOGI Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4-19 N_Port Common Service Parameters 20-27 Port Name 28-35 Node Name 36-51 Class 1 Service Parameters 52-67 Class 2 Service Parameters 68-83 Class 3 Service Parameters 84-99 Reserved 100-115 Table number 33 Vendor Version Field definitions (listed alphabetically) Class 1 and 2 Service Parameters The drive supports only class 3 service parameters. The drive sends all zeros for all other classes of service. 33 Class 3 Service Parameters Sent by the drive. See Table 36 on page 70. 33 LS Command Code (Link Services Command Code) 04h 33 FLOGI payload. N_Port Common Service Parameters See Table 34 on page 68. 33 Port Name and Node Name 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 23. 33 Vendor Version Vendor-unique. Not supported. Fibre Channel Interface Manual, Rev. D 67 Table 34: Bit Byte F_Port Common Service Parameters 7 6 5 0 Highest ANSI FC-PH Version 1 Lowest ANSI FC-PH Version 2 4 3 2 1 0 (MSB) Buffer to Buffer Credit 3 4 (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 5 6 Hunt Groups Dedicated Simplex 0 0 0 0 0 0 Reserved 0 (MSB) Reserved Receive Data Field Size 7 8 (LSB) (MSB) : Reserved 15 Table number 34 (LSB) Field definitions (listed alphabetically) Buffer to Buffer Credit The drive sets the Alternate Credit Model and sets the Buffer to Buffer Credit to zero. 68 Fibre Channel Interface Manual, Rev. D 34 Common Features 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) 34 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 Highest ANSI FC-PH Version and Lowest ANSI FC-PH Version 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 A version level of 20h is defined for FC-PH-3 Rev. 9.4. 34 Receive Data Field Size The drive sends a receive buffer size of 2112 bytes. Fibre Channel Interface Manual, Rev. D 69 Table 36: Class 3 Service Parameters Bit Byte 7 6 0 Class Valid Intermix Mode 5 4 Stacked Connect Request 3 2 1 0 Sequence Delivery Dedicated Simplex Camp-on Buffered Class 1 0 0 0 Service Options 1 0 0 0 0 Priority Reserved 2 3 4 5 6 7 8 Reserved 9 10 11 12 13 14 15 Table number 36 Field definitions (listed alphabetically) Service Options 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 70 Fibre Channel Interface Manual, Rev. D Table 38: Fabric Login Accept Payload (FLOGI ACC) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4-19 F_Port Common Service Parameters 20-27 Port Name 28-35 Node Name 36-51 Class 1 Service Parameters 52-67 Class 2 Service Parameters 68-83 Class 3 Service Parameters 84-99 Reserved 100-115 Table number 38 Vendor Version Field definitions (listed alphabetically) 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. 38 Class 3 Service Parameters Sent by the drive. See Table 37 for details. 38 F_Port Common Service Parameters See Table 24. 38 LS Command Code (Link Services Command Code) 02h 38 FLOGI ACC. 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. 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). 38 Vendor Version Vendor-unique. Not supported. Fibre Channel Interface Manual, Rev. D 71 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: PRLI Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 0 0 0 0 0 0 0 0 LS Command Code 1 0 0 0 1 0 Page Length 2 0 0 0 0 0 0 0 0 3 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 Reserved 0 0 Payload Length 4 0 0 0 0 Type Code 5 0 0 0 0 Type Code Extension 6 0 Orig Proc Assc Valid 7 Reserved 8 0 Resp Proc Assc Valid Est Image Pair 0 0 (MSB) 9 Originator Process Associator 10 11 12 (LSB) (MSB) 13 Responder Process Associator 14 15 (LSB) 16 Reserved 17 Reserved 18 Reserved 19 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 Table number 39 Field definitions (listed alphabetically) Command/Data Mixed Allowed 1 72 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. Fibre Channel Interface Manual, Rev. D 39 Data Overlay Allow Not supported by the drive. The Data Overlay Allowed bit is not checked. 39 Data/Response Mix Allowed 1 39 39 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. 39 LS Command Code (Link Services Command Code) 20h 39 PRLI Payload. Orig Proc Assc Valid (Originator Process Associator Valid) Not supported by the drive. Not checked by the drive. 39 Page Length Length of the service parameter page (in bytes). For a SCSI FCP service page, the length is 10h. 39 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). 39 RD XFR RDY Disable (Read Transfer Ready Disable) 1 39 FCP_XFR_RDY will not be sent before read data. The drive requires this bit to be set to one (1). Resp Proc Assc Valid (Responder Process Associator Valid) Not supported by the drive. Not checked by the drive. 39 Target Function May be set in addition to the Initiator Function bit. The drive does not check this bit. 39 Type Code 08h 39 Type Code Extension 0 39 SCSI FCP process as included in the frame header for FCP frames. Not defined for SCSI FCP and must be set to zero (0). WR XFR RDY Disable (Write Transfer Ready Disable) 0 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. D 73 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: PRLI Accept Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 0 0 0 LS Command Code 1 0 0 0 1 0 Page Length 2 0 0 0 0 0 0 0 0 3 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 Payload Length 4 0 0 0 0 Type Code 5 0 0 0 0 Type Code Extension 6 7 8 0 Orig Proc Assc Valid 0 Resp Proc Assc Valid Est Image Pair 0 Reserved Response Code Reserved (MSB) 9 Originator Process Associator 10 11 12 (LSB) (MSB) 13 Responder Process Associator 14 15 (LSB) 16 Reserved 17 Reserved 18 Reserved 19 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 Table number 40 Field definitions (listed alphabetically) Command/Data Mixed Allowed 1 74 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. Fibre Channel Interface Manual, Rev. D 40 Data Overlay Allow Not supported by the drive. The Data Overlay Allowed bit is not checked. 40 Data/Response Allowed 1 40 40 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. 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. 40 LS Command Code (Link Services Command Code) 02h 40 PRLI Accept Payload. Orig Proc Assc Valid (Originator Process Associator Valid) Not supported by the drive. Not checked by the drive. Must be set to zero (0). 40 Page Length Length of the service parameter page (in bytes). For a SCSI FCP service page, the length is 10h. 40 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). 40 Rd XFR RDY Disable (Read Transfer Ready Disable) 1 40 FCP_XFR_RDY will not be sent before read data. The drive requires this bit to be set to one (1). Resp Proc Assc Valid (Responder Process Associator Valid) Not supported by the drive. Not checked by the drive. Must be set to zero (0). 40 Response Code The result of the PRLI request. Only codes 1 and 7 are supported by the drive. 40 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. Target Function May be set in addition to the Initiator Function bit. The drive does not check this bit. Fibre Channel Interface Manual, Rev. D 75 40 Type Code 08h 40 Type Code Extension 0 40 SCSI FCP process as included in the frame header for FCP frames. Not defined for SCSI FCP and must be set to zero (0). 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. 76 Fibre Channel Interface Manual, Rev. D 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: PRLO Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 0 0 0 0 1 0 0 0 LS Command Code 1 0 0 0 1 0 Page Length 2 0 0 0 0 0 0 0 0 3 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 Payload Length 4 0 0 0 0 Type Code 5 0 0 0 0 Type Code Extension 6 7 Orig Proc Assc Valid Resp Proc Assc Valid 0 0 0 Reserved Reserved 8 (MSB) 9 Originator Process Associator 10 11 (LSB) 12 (MSB) 13 Responder Process Associator 14 15 (LSB) 16 17 Reserved 18 19 Table number 41 Field definitions (listed alphabetically) LS Command Code (Link Services Command Code) 21h 41 PRLO Payload. Page Length Length of the service parameter page in bytes. For a SCSI FCP service page, the length is 10h. Fibre Channel Interface Manual, Rev. D 77 41 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). 41 Process Associators Not supported by the drive. The process associator fields are not checked by the drive. 41 41 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. Type Code Extension Not defined for SCSI-FCP and must be zero (0). 78 Fibre Channel Interface Manual, Rev. D Table 42: PRLO Accept Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 0 0 0 LS Command Code 1 0 0 0 1 0 Page Length 2 0 0 0 0 0 0 0 0 3 0 0 0 1 0 1 0 0 Payload Length 4 Reserved 5 Reserved 6 Orig Proc Assc Valid 7 Reserved 8 Resp Proc Assc Valid 0 Reserved 0 Reserved Response Code (MSB) 9 Originator Process Associator 10 11 (LSB) 12 (MSB) 13 Responder Process Associator 14 15 (LSB) 16 17 Reserved 18 19 Table number 42 Field definitions (listed alphabetically) LS Command Code (Link Services Command Code) 02h 42 PRLO Accept Payload. Page Length Length of the service parameter page in bytes. For a SCSI FCP service page, the length is 10h. 42 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). 42 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. Fibre Channel Interface Manual, Rev. D 79 42 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. 80 Fibre Channel Interface Manual, Rev. D 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: TPRLO Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 0 0 1 0 0 0 0 0 LS Command Code 1 0 0 0 1 0 Page Length 2 0 0 0 0 0 0 0 0 3 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 Payload Length 4 0 0 0 0 Type Code 5 0 0 0 0 Type Code Extension 6 7 8 Third Party Orig Proc Assc Valid Third Party Resp Proc Assc Valid Third Party Orig N_Port ID Validity Global Process Logout 0 Reserved Reserved (MSB) 9 Third Party Originator Process Associator 10 11 12 (LSB) (MSB) 13 Third Party Responder Process Associator 14 15 (LSB) 16 17 Reserved (MSB 18 Third Party Originator N_Port ID 19 Table number 43 43 (LSB) Field definitions (listed alphabetically) 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. LS Command Code (Link Services Command Code) 24h TPRLO Payload. Fibre Channel Interface Manual, Rev. D 81 43 Page Length The length must be in the range of 10h to 14h. 43 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. 43 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. 43 Third Party Originator N_Port ID This field specifies the N_Port address associated with the process login to be removed. 43 43 43 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. 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. Type Code Extension Not defined for SCSI-FCP and must be zero (0). 82 Fibre Channel Interface Manual, Rev. D Table 44: TPRLO Accept Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 0 0 0 LS Command Code 1 0 0 0 1 0 Page Length 2 0 0 0 0 0 0 0 0 3 0 0 0 1 0 1 0 0 Payload Length 4 Reserved 5 Reserved 6 Third Party Orig Proc Assc Valid 7 Third Party Resp Proc Assc Valid Third Party Orig N_Port ID Validity Global Process Logout Reserved Reserved 8 (MSB) 9 Third Party Originator Process Associator 10 11 (LSB) 12 (MSB) 13 Third Party Responder Process Associator 14 15 (LSB) 16 Reserved 17 (MSB) 18 Third Party Originator N_Port ID 19 Table number 44 44 Field definitions (listed alphabetically) 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. LS Command Code (Link Services Command Code) 02h 44 (LSB) TPRLO Accept Payload. Page Length Length of the service parameter page in bytes. For a SCSI FCP service page, the length is 10h. 44 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). Fibre Channel Interface Manual, Rev. D 83 44 44 Process Associators Not supported by the drive. The process associator fields are not checked by the drive. Response Code The result of the TPRLO request. Codes 1, 4, and 7 are supported by the drive. 44 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. Third Party Originator N_Port ID This field specifies the N_Port address associated with the process login to be removed. 44 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. 84 Fibre Channel Interface Manual, Rev. D 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: RLS Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4 Reserved 5 6 Port Identifier 7 Table number 45 Field definitions (listed alphabetically) LS Command Code (Link Services Command Code) 0Fh 45 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. D 85 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: RLS Accept Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4 (MSB) 5 Link Failure Count 6 7 8 (LSB) (MSB) 9 Loss of Synchronization Count 10 11 12 (LSB) (MSB) 13 Loss of Signal Count 14 15 16 (LSB) (MSB) 17 Primitive Sequence Protocol Error 18 19 20 (LSB) (MSB) 21 Invalid Transmission Word 22 23 24 (LSB) (MSB) 25 Invalid CRC Count 26 27 Table number 46 (LSB) Field definitions (listed alphabetically) 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. 86 Fibre Channel Interface Manual, Rev. D 46 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. 46 Link Failure Count Number of times synchronization was lost for greater than R_T_TOV (Receiver Transmitter Timeout Value). A Link Failure results in sending Loop Initialization Primitive Sequence (LIP). 46 Loss of Signal Count Not supported. 46 Loss of Synchronization Count Number of times the drive detects loss of synchronization. Note. 46 LS Command Code (Link Services Command Code) 02h 46 This count includes the Link Failure Count. RLS Accept Payload. Primitive Sequence Protocol Error Not supported. Fibre Channel Interface Manual, Rev. D 87 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: RRQ Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4 5 Reserved (MSB) 6 Originator S_ID 7 8 (LSB) (MSB) OX_ID 9 10 (LSB) (MSB) RX_ID 11 12 (LSB) (MSB) : Association Header (optional) 43 Table number 47 (LSB) Field definitions (listed alphabetically) Association Header Not supported by the drive. 47 LS Command Code (Link Services Command Code) 12h 47 RRQ Payload. Originator S_ID (Originator Source Identifier) Address identifier of the port that originated the exchange. 47 OX_ID (Originator Exchange Identifier) The RRQ is the OX_ID of the Recovery Qualifier. 47 RX_ID (Responder Identifier) The RRQ is the RX_ID of the Recovery Qualifier. 88 Fibre Channel Interface Manual, Rev. D Table 48: RRQ Accept Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code Table number 48 Field definitions (listed alphabetically) LS Command Code (Link Services Command Code) Not supported by the drive. Fibre Channel Interface Manual, Rev. D 89 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. 90 Fibre Channel Interface Manual, Rev. D 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. 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: ADISC Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4 5 Reserved (MSB) 6 Hard Address of Originator 7 8 (LSB) (MSB) : Port Name of Originator 15 16 (LSB) (MSB) : Node Name of Originator 23 24 25 (LSB) Reserved (MSB) 26 N_Port ID of Originator 27 Table number 49 (LSB) Field definitions (listed alphabetically) 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. 49 LS Command Code (Link Services Command Code) 52h ADISC Payload. Fibre Channel Interface Manual, Rev. D 91 49 Node Name of Originator This is the unique 8 byte identifier for the initiator sending the ADISC. Refer to Table 23 for the format of the Node Name. 49 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. 49 Port Name of Originator This is the unique 8 byte identifier for the initiator port sending ADISC. Refer to Table 23 for the format of the Port Name. 92 Fibre Channel Interface Manual, Rev. D Table 50: ADISC Accept Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code 4 5 Reserved (MSB) 6 Hard Address of Responder 7 8 (LSB) (MSB) : Port Name of Responder 15 16 (LSB) (MSB) : Node Name of Responder 23 24 25 (LSB) Reserved (MSB) 26 N_Port ID of Responder 27 Table number 50 (LSB) Field definitions (listed alphabetically) 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. 50 LS Command Code (Link Services Command Code) 02h 50 ADISC Accept Payload. Node Name of Responder This is the unique 8 byte identifier for the drive sending the ADISC Accept. Refer to Table 23 for the format of the Node Name. 50 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. 50 Port Name of Responder This is the unique 8 byte identifier for the drive port sending the ADISC Accept. Refer to Table 23 for the format of the Port Name. Fibre Channel Interface Manual, Rev. D 93 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: Bit Byte RNC Payload 7 6 0 LS Command Code 1 Reserved 2 (MSB) 5 3 4 3 2 1 0 Payload Length (LSB) Table number 51 4 RNC Flags 5 Reserved 6 Reserved 7 VU Information Length 8 . . 15 Vendor Identifier - RNC Accept Payload only 16 Capability Entries Field definitions (listed alphabetically) 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: Bit Byte 52 Capability Entries 7 6 5 0 Flags 1 Document Identifier 2 Low Revision - RNC Accept Payload only 3 High Revision - RNC Accept Payload only 4 3 2 1 0 Document Identifier This number identifies the document. Valid document numbers range from: 01h through 05h 10h through 13h, and 20h through 27h 52 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. 94 Fibre Channel Interface Manual, Rev. D 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. 52 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). 52 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). 51 51 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. 51 51 RNC Flags 00h Report on all available capabilities. 80h Report on the selected capabilities listed in the capability entries. Vendor Identifier - RNC Accept Payload only Eight bytes of ASCII data identifying the vendor of the product (node). 51 VU Information Length 00h Length of the Vendor Unique Information in the payload. This feature is not supported and this field must = 0. Fibre Channel Interface Manual, Rev. D 95 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: LS_RJT Payload Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 LS Command Code Table number 53 53 Reserved 5 Reason Code 6 Reason Explanation 7 Vendor Unique Field definitions (listed alphabetically) LS Command Code (Link Services Command Code) 01h 53 4 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: 53 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. 96 Fibre Channel Interface Manual, Rev. D 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: Common transport header Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 R_CTL 1 (MSB) 2 D_ID 3 4 (LSB) 0 0 0 0 0 0 0 0 Reserved 5 (MSB) 6 S_ID 7 8 (LSB) 0 0 1 0 0 0 0 0 Type 9 (MSB) 10 F_CTL 11 12 13 (LSB) SEQ_ID 0 0 0 0 0 0 0 0 DF_CTL 14 (MSB) SEQ_CNT 15 16 (LSB) (MSB) OX_ID 17 (LSB) 18 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 RX_ID 20 (MSB) 21 Parameter 22 23 Fibre Channel Interface Manual, Rev. D (LSB) 97 Table number 54 Field definitions (listed alphabetically) D_ID (Destination Identifier) Frame destination address. 54 DF_CTL (Data Field Control) Set to 00 to indicate no optional Fibre Channel headers are used. 54 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. 54 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. 54 Parameter Not used for CT services. 54 54 R_CTL (Routing Control) 02h Unsolicited control for CT service request, PDISC. 03h Solicited control for responses. RX_ID (Responder Identifier) Not used by the drive. The value of FFFFh indicates the RX_ID is not being used. 54 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. 54 SEQ_CNT (Sequence Count) Not checked by the drive. For extended link services replies and requests sent by the drive, SEQ_CNT equals 0000. 54 SEQ_ID (Sequence Identifier) Not checked by the drive. For CT services requests, the drive uses the SEQ_ID value equal to FFh. 54 Type 20h 98 Fibre Channel services. Fibre Channel Interface Manual, Rev. D 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: RFT_ID Payload Bit Byte 7 6 5 0 0 0 0 1 2 3 0 0 0 0 0 0 4 1 1 5 0 0 0 6 0 0 0 7 0 0 0 8 9 0 0 0 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 18 19 20* 21* 22* MSB 0 0 0 0 0 0 0 0 0 0 0 0 23* . . . 51* 0 . . . 0 0 . . . 0 0 . . . 0 0 . . . 0 4 3 2 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LSB 0 0 1 0 . . . 0 0 . . . 0 0 . . . 0 0 . . . 0 0 0 0 FC-CT Revision 0 0 0 0 0 0 0 0 0 0 0 0 Reserved 1 1 1 1 FC Services Type Code (Directory Service Application) 0 0 FC Services Sub Type (Name Service) 0 0 Options 0 0 Reserved 0 0 1 0 Command Code: RFT_ID 0 0 Reserved 0 0 Reserved 0 0 Reserved 0 0 Reason Code 0 0 Explanation Code 0 0 Vendor Unique 0 0 Reserved S_ID of Requesting N_Port *Bytes 20-51 contain a bit map of supported FC-4 types. The 1 in byte 22 indicates type 08h (SCSI-FCP) Fibre Channel Interface Manual, Rev. D 99 Table number 55 Field definitions (listed alphabetically) Command Code: RFT_ID 0217h 55 00h 55 RFC-4 Explanation Code Used only for reject responses. FC-CT Revision Revision level of the FC-CT. 55 FC Service Sub Type 02h 55 FC Services Type Code FCh 55 Single Exchange. Reason Code 00h 55 FC Services. Options 00h 55 Name Service. 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. 55 Vendor Unique 00h 100 Used only for reject responses. Fibre Channel Interface Manual, Rev. D 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. D 101 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 <1 µsec? Do bits SEL_(0-7) change at all? No Yes Yes Does -ENCL_ACK assert in <1.2 sec? 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 <1.2 sec? No 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. Discovery process flow diagram 10.2 8045 mode In 8045 mode, the enclosure places the binary complement of ESI on the Select_ID pins, SEL_(6:0). 102 Fibre Channel Interface Manual, Rev. D 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. D 103 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 1 µsec max 1 µsec max SEL/ESI Bus SEL_ID Discovery Figure 14. ESI transfer phases 10.3.1 8067 ESI command ESI 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: ESI command format Bit 7 6 5 4 3 2 1 0 Byte Page Code 0 1 Reserved 2 (MSB) Send Diagnostic Parameter Length 3 Table number 57 Send (LSB) Field definitions (listed alphabetically) Page Code The Page Code is from the SCSI Send Diagnostic or Receive Diagnostic Results command diagnostic page that initiated the ESI transfer. 57 57 Send 0 The ESI data transfer is from the enclosure to the drive. 1 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. 104 Fibre Channel Interface Manual, Rev. D 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. D 105 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 – 106 Fibre Channel Interface Manual, Rev. D 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 Data Nibble 2 Figure 17. ESI writes 10.5 Enclosure-initiated ESI transfer 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. D 107 START_1/ START_2 1 sec max device delay 100 nsec min enclosure delay –PARALLEL ESI 1 µsec max enclosure delay –DSK_WR SEL_6 / –DSK_RD SEL_5 / D(0:3) SEL_(0:3) / –ENCL_ACK SEL_4 / –SEL_ID(0:3) 1.2 second max enclosure delay [1] [1] [2] [3] [4] [5] [2] [3] [4] [5] Enclosure Services Processor negates START_1 and START_2 to indicate that it is requesting communication with the drive. The drive asserts –PARALLEL ESI to indicate it is ready to begin communication with the Enclosure Services Processor. The drive 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 drive is presenting. The Enclosure Services Processor returns START_1 and START_2 to Case 2, 3, or 4. The Enclosure Services Processor asserts –ENCL_ACK and discovery continues. 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 Table 115, Section 12.6.7 for more information on the motor spin-up options. 108 Fibre Channel Interface Manual, Rev. D START_1/ START_2 1 sec max device delay –PARALLEL ESI 1 µsec max enclosure delay 5 ms –DSK_WR SEL_6 / –DSK_RD SEL_5 / D(0:3) SEL_(0:3) / –ENCL_ACK SEL_4 / max drive delay –SEL_ID(0:3) 1.2 second max enclosure delay [1] [1] [2] [3] [4] [5] [2] [3] [4] [5] Enclosure Services Processor negates START_1 and START_2 to indicate that it is requesting communication with the drive. The drive asserts –PARALLEL ESI to indicate it is ready to begin communication with the Enclosure Services Processor. The drive determines that enclosure is SFF-8067 compliant by noting that SEL_(0:3) bits have inverted and that SEL_6 and SEL_7 have the value that the drive is presenting. The Enclosure Services Processor asserts –ENCL_ACK to indicate it is ready to begin communication with the drive. The drive negates –PARALLEL ESI to end the ESI transfer and prepares for power removal. 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. D 109 –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: Enclosure Request Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 Page Code (00h) 1 0 0 0 0 2 0 0 0 0 Action Code 0 0 Reserved 3 Action Specific 4 (MSB) Parameter Length 5 Table number 61 (LSB) Field definitions (listed alphabetically) 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 Initiate Loop Initialization. 110 Fibre Channel Interface Manual, Rev. D 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. 61 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. 61 Initiate LIP Action Specific Bits This table describes the Action Specific byte 3 of the Enclosure Request shown in Table 61. Table 62: Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 LIP Loop B LIP Loop A Note. Table number 62 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). Field definitions (listed alphabetically) LIP Loop A/B 1 61 Initiate LIP Action Specific Bits 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. Page Code The Page Code identifies the page of enclosure data being transferred. Note. 61 The Page Code is always 00h for Enclosure Initiated ESI. 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. D 111 Table 63: Enclosure Initiated ESI Page Format Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code 2 3 (MSB) 4 (MSB) 3 2 1 0 Page Length (n – 3) (LSB) Data . . n Table number 63 (LSB) Field definitions (listed alphabetically) Action Code The Action Code requested by the enclosure. 63 Data The first n - 4 bytes of ESI data. 63 ESI Page 00h 63 Identifies the ESI page code used (00h). Page Length The length of the ESI page (n - 3 bytes). 112 Fibre Channel Interface Manual, Rev. D 10.5.3.1 Device Standard Inquiry Data page Table 64: Device Standard Inquiry Data page Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (00h) 2 3 (MSB) 4 (MSB) 3 2 1 0 Page Length (24h) (LSB) Inquiry Data . . 39 Table number 64 (LSB) Field definitions (listed alphabetically) Action Code 00h 64 ESI Page 00h 64 Device Standard Inquiry Data Identifies the ESI page code used (00h). Inquiry Data The first 36 bytes of Standard Inquiry data. Refer to Section 12.6 for a definition of this data. Note: the vendor specific, VS, bit in byte 6 is not valid. 64 Page Length 24h The length of the ESI page (in bytes). Fibre Channel Interface Manual, Rev. D 113 10.5.3.2 Device Address page Table 65: Device Address page Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (01h) 2 3 (MSB) 4 (MSB) 3 2 1 0 Page Length (24h) (LSB) Node Name : 11 (LSB) 12 Port A (01h) 13 (MSB) Port A Port_Identifier 14 15 16 (LSB) Port A Position 17 0 18 (MSB) 0 0 0 0 0 0 0 Port A Name : 25 (LSB) 26 Port B (02h) 27 (MSB) Port B Port_Identifier 28 29 30 (LSB) Port B Position 31 0 32 (MSB) 0 0 0 0 0 0 0 Port B Name : 39 Table number 65 Field definitions (listed alphabetically) Action Code 01h 65 Device Address ESI Page 00h 64 (LSB) Identifies the ESI page code used (00h). Node Name The 64-bit Fibre Channel unique Name_Identifier assigned to the drive. 64 Page Length 24h 114 The length of the ESI page (in bytes). Fibre Channel Interface Manual, Rev. D 64 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. 64 Port Name The 64-bit Fibre Channel unique Name_Identifier assigned to the port. 64 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. Fibre Channel Interface Manual, Rev. D 115 10.5.3.3 Loop Position Map page Table 66: Loop Position Map page Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (02h) 2 3 (MSB) 4 3 2 1 0 Page Length (m – 3) (LSB) Offset Port A (n – 4) 5 (MSB) Loop Map Port A . . n n+1 (LSB) Offset Port B (m – n + 1) n+2 (MSB) Loop Map Port B . . m Table number 66 Field definitions (listed alphabetically) Action Code 02h 66 Device Address ESI Page 00h 66 (LSB) Identifies the ESI page code used (00h). 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. 66 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. 66 Page Length The total transfer length depends on the number of valid ALPA’s on the loop. 116 Fibre Channel Interface Manual, Rev. D 10.5.3.4 Device Identification page Table 67: Device Identification page Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (04h) 2 3 (MSB) 4 (MSB) 3 2 1 0 Page Length (n – 3) (LSB) . Device ID Data . n Table number 67 Field definitions (listed alphabetically) Action Code 04h 67 (LSB) Device Identification. Device ID Data This field contains the same data as the SCSI Vital Product Data Device Identification page (83h). See Section 12.6.4 for the complete SCSI Vital Product Data device Identification information. 67 ESI Page 00h 67 Identifies the ESI page code used (00h). 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. Fibre Channel Interface Manual, Rev. D 117 10.5.3.5 Device Temperature page Table 68: Device Temperature page Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (05h) 2 3 (MSB) 4 Temperature 3 2 1 0 Page Length (06h) (LSB) 5 . Reserved . 9 Table number 68 Field definitions (listed alphabetically) Action Code 05h 68 ESI Page 00h 68 Device Temperature Identifies the ESI page code used (00h). 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. 68 Page Length 06h 118 The length of the ESI page (in bytes). Fibre Channel Interface Manual, Rev. D 10.5.3.6 Port Parameters page Table 69: Port Parameters page Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (06h) 2 3 (MSB) 4 69 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 Field definitions (listed alphabetically) Action Code 06h 69 0 (LSB) 8 Table number 1 Drive Capabilities 6 9 2 Page Length (06h) 5 7 3 Port Parameters. 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. 69 ESI Page 00h 69 Identifies the ESI page code used (00h). LSP CHG (Link Status Page Change) This bit-significant field indicates which device control codes defined in SFF 8045 are supported by the drive. 69 69 69 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 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 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 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. D 119 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. The fields listed in this section are extracted from the FC-PH defined Link Error Status Block (LESB). Table 70: Link Status page Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (07h) 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) 44 . 51 120 3 2 1 0 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) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) Reserved Fibre Channel Interface Manual, Rev. D Table 70: Link Status page (Continued) Bit Byte 7 52 . 55 (MSB) 56 . 59 (MSB) 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 70 Loss of Sync Count, Port B 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 0 (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) (LSB) Reserved Action Code Link Status. ESI Page 00h 70 1 Field definitions (listed alphabetically) 07h 70 2 Link Failure Count, Port B 92 . 99 Table number 3 Identifies the ESI page code used (00h). 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. 70 Invalid Transmission Word Count The count of the number of invalid transmission words/running disparity errors that have been detected on the port. Fibre Channel Interface Manual, Rev. D 121 70 Link Failure Count Count of the number of Loss of Sync conditions that have occurred on the port which exceeded 100 ms in duration. 70 LIP F7 Initiated Count Count of the number of loop initialization processes originated by the port with LIP – F7’s (Initialize LIP). 70 LIP F7 Received Count Count of the number of loop initialization processes initiated on the port by receiving LIP – F7’s (Initialize LIP). 70 LIP F8 Initiated Count Count of the number of loop initialization processes originated by the port with LIP – F8’s (Failure LIP). 70 LIP F8 Received Count Count of the number of loop initialization processes initiated on the port by receiving LIP – F8’s (Failure LIP). 70 Loss of Signal Count 00h 70 The count of the number of Loss of Signal conditions on the port (not supported). Loss of Sync Count The count of the number of short ( < 100 ms) Loss of Synchronization conditions that have occurred on the port. 70 Page Length 60h 70 Primitive Sequence Protocol Error, Port A 00h 70 The length of the Link Status page (in bytes). The number of FC-PH defined Primitive Sequence Protocol Errors on port A. This field is not valid in loop mode (not supported). 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). 122 Fibre Channel Interface Manual, Rev. D 10.5.3.8 Spin-Down Control Action Specific Bits Table 71: Table number 71 71 71 Spin-Down Control Action Specific Bits Bit Byte 7 6 5 4 3 0 0 0 0 0 0 2 1 0 Read Status Enable Spin Down Enable SpinDn Ctrl Field definitions (listed alphabetically) 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. Note. Refer to Section 12.6.7, Jumper Settings Page, Table 115 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. 10.5.3.8.1 Spin-Down Control Status Table 72: Spin-Down Control Status Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (08h) 2 3 (MSB) 3 Enable SpinDown Enable SpinDn Ctrl Reserved Field definitions (listed alphabetically) Action Code 08h 72 0 (LSB) 5-9 72 1 Page Length (06h) 4 Table number 2 Spin-Down Control Status. ESI Page 00h Identifies the ESI page code used (00h). Fibre Channel Interface Manual, Rev. D 123 72 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. 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: ESI data validation accept Bit Byte 7 6 5 4 0 0 0 0 0 ESI Page (00h) 1 0 0 0 0 Action Code (09h) 2 3 (MSB) 4 1 73 0 (LSB) 0 1 0 0 1 0 1 Reserved Action Code ESI Data Validation Accept. ESI Page 00h 73 1 Field definitions (listed alphabetically) 09h 73 2 Page Length (02h) 5-9 Table number 3 Identifies the ESI page code used (00h). Page Length 02h 124 The maximum length of the ESI page (in bytes). Fibre Channel Interface Manual, Rev. D 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. Navigation assistance The field descriptions that are provided for most tables have sidebar labels which identify the table they are associated with. This helps orient you when nested tables occur within a section. Sidebar example Table number 1 Field definitions (listed alphabetically) Field name The sidebar (black background with reversed text) identifies this field as being associated with Table 1. 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. Fibre Channel Interface Manual, Rev. D 125 11.2 FCP CMND The content of the FCP CMND frame is shown below. Details of the FCP CMND contents are in Tables 74 and 75. SOFi3 Frame header Payload CRC EOFt Table 74: FCP CMND frame header Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 1 0 0 0 0 R_CTL 1 (MSB) 2 D_ID 3 4 (LSB) 0 0 0 0 0 Reserved 5 (MSB) 6 S_ID 7 (LSB) 8 0 9 (MSB) 0 0 0 1 0 0 0 Type 10 F_CTL 11 12 13 (LSB) SEQ_ID 0 0 0 0 0 0 0 0 DF_CTL 14 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 16 (MSB) SEQ_CNT OX_ID 17 (LSB) 18 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 RX_ID 20 21 22 23 126 (MSB) Parameter (LSB) Fibre Channel Interface Manual, Rev. D Table number 74 Field definitions (listed alphabetically) DF_CTL (Data Field Control) 00h 74 No optional Fibre Channel headers are used. D_ID (Destination Identifier) The address of the drive. This value must match the current address of the drive. 74 F_CTL (Frame Control) 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. 74 OX_ID (Originator Exchange Identifier) 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. 74 Parameter Not used for the FCP CMND. 74 R_CTL (Routing Control) Set to Unsolicited Command data sequence for the FCP CMND frame. 74 RX_ID (Responder Identifier) Not used by the drive. FFFFh indicates the RX_ID is not being used. 74 SEQ_CNT (Sequence Count) 0000h value indicates that this is the first frame of the Fibre Channel sequence. The FCP CMND is a single frame sequence. 74 SEQ_ID (Sequence Identifier) May be set to any value. The OX_ID field uniquely identifies each command between the initiator and the drive. 74 S_ID (Source Identifier) 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. 74 Type 08h All SCSI FCP frames must be set to this value. Fibre Channel Interface Manual, Rev. D 127 Table 75: FCP CMND Payload Bit Byte 0 7 6 5 4 3 2 1 0 (MSB) : Logical Unit Number 7 (LSB) 8 0 0 0 0 0 0 0 0 Reserved 9 0 0 0 0 0 Task Attribute Reserved 10 Term Task Clear ACA Target Reset 0 0 0 0 0 11 0 Clear Task Set Abort Task Set 0 Reserved 0 0 Read Data Write Data Reserved Reserved 12 (MSB) : CDB 27 28 (LSB) (MSB) 29 DL 30 31 Table number 75 (LSB) Field definitions (listed alphabetically) Abort Task Set Clears only the queue of commands from the initiator originating the Abort Task Set. 75 CDB (Command Descriptor Block) 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. 75 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. 75 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. 75 DL (Data Length) The maximum amount of data (in bytes) to be transferred by the command specified in the CDB. If the DL value is zero, no data will be transferred regardless of the CDB or Read/Write bits in byte 11. If the DL value is less than the transfer length in the CDB, the drive will transfer up to the DL value, set the Residual Over Run bit in the FCP RSP, and place the difference between the actual transfer and DL in the FCP RSP Residual Count field. If the DL value is greater than the transfer length in the CDB, the drive will transfer the CDB requested length, set the Residual Under Run bit in the FCP RSP, and place the difference between the actual transfer and DL in the FCP RSP Residual Count field. 128 Fibre Channel Interface Manual, Rev. D If the DL value equals the actual transfer length in the CDB, the Residual Over Run and Residual Under Run bits in the FCP RSP will be cleared. 75 Logical Unit Number (LUN) Addresses physical devices or virtual devices attached to a target. 0 75 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. Read Data Set to one (1) when the command specified by the CDB field will result in a data transfer to the initiator. 75 Target Reset When the drive receives a Target 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. 75 Task Attribute Specifies the type of command queue management requested for the SCSI command in the CDB field of this FCP CMND. The drive supports: 75 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. Term Task (Terminate Task) Not supported by the drive. 75 Write Data Set to one (1) when the command specified by the CDB field will result in a data transfer from the initiator. Fibre Channel Interface Manual, Rev. D 129 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 77 and 78. 11.2.1.1 Operation Code The Operation Code (Table 76) 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 Section 12.0. For the disc drive, the group code specifies one of the following groups: Group 0 - Six-byte commands (see Table 77) Group 1 - Ten-byte commands (see Table 78) Group 2 - Ten-byte commands (see Table 78) Group 3 - Reserved Group 4 - Sixteen-byte commands Group 5 - Twelve-byte commands Group 6 - Vendor specific Group 7 - Vendor specific Table 76: Bit Byte 0 130 Operation Code format for CDB 7 6 Group Code 5 4 3 2 1 0 Command Code Fibre Channel Interface Manual, Rev. D Table 77: Typical CDB for six-byte commands Bit 7 6 5 4 3 2 1 0 Byte 0 Operation Code 1 0 0 0 (MSB) Reserved Logical Block Address (if required) 2 3 Table number 77 (LSB) 4 Transfer Length (if required) 5 Control Byte Field definitions (listed alphabetically) Control Byte See Section 11.2.1.6. 77 Logical Block Address See Section 11.2.1.2. 77 Operation code See Section 11.2.1.3. 77 Transfer Length See Section 11.2.1.5. Table 78: Typical CDB for ten-byte commands Bit Byte 7 6 5 4 0 3 2 1 0 0 0 RelAdr Operation Code 1 0 0 0 0 0 Reserved 2 (MSB) 3 Logical Block Address (if required) 4 5 6 (LSB) Reserved 7 (MSB) Transfer Length (if required) 8 9 Table number 78 (LSB) Control Byte Field definitions (listed alphabetically) Control Byte See Section 11.2.1.6. Fibre Channel Interface Manual, Rev. D 131 78 Logical Block Address See Section 11.2.1.2. 78 Operation Code See Section 12.0. 78 RelAdr (Relative Address) See Section 11.2.1.4. 78 Transfer Length See Section 11.2.1.5 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 Section 12.26. 11.2.1.3 Operation code Operation codes are defined in Section 12.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. 132 Fibre Channel Interface Manual, Rev. D 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 79: Control byte Bit Byte 7 6 5 4 3 LAST 0 0 0 0 0 2 1 0 NACA Flag Link Reserved Table number 79 Field definitions (listed alphabetically) Flag Drives supported by this manual do not use this bit. 79 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. 79 The OX_ID must be the same for all linked commands because it is considered the same exchange. 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. Fibre Channel Interface Manual, Rev. D 133 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 80: Bit Byte 0 FCP XFER RDY header 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 1 R_CTL 1 (MSB) 2 D_ID 3 4 (LSB) 0 0 0 0 0 0 0 0 Reserved 5 (MSB) 6 S_ID 7 8 (LSB) 0 0 0 0 1 0 0 0 Type 9 (MSB) 10 F_CTL 11 12 13 (LSB) SEQ_ID 0 0 0 0 0 0 0 0 DF_CTL 14 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 SEQ_CNT 16 (MSB) OX_ID 17 (LSB) 18 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 RX_ID 20 (MSB) 21 Parameter 22 23 134 (LSB) Fibre Channel Interface Manual, Rev. D Table number 80 Field definitions (listed alphabetically) DF_CTL (Data Field Control) 00h 80 No optional Fibre Channel headers are used. D_ID (Destination Identifier) The address of the initiator that originated the command for which the data is being requested. 80 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. 80 OX_ID (Originator Exchange Identifier) The drive returns the OX_ID it received from the initiator with the FCP CMND. 80 Parameter Not used for the FCP XFER RDY. 80 R_CTL (Routing Control) Set to Data Descriptor. 80 RX_ID (Responder Identifier) Not used by the drive. The value of FFFFh indicates the RX_ID is not being used. 80 SEQ_CNT (Sequence Count) 0000h 80 Indicates that this is the first frame of the Fibre Channel sequence. The FCP XFER RDY is a single frame sequence. SEQ_ID (Sequence Identifier) The drive sends FFh. 80 S_ID (Source Identifier) Address of the drive. 80 Type 08h For all SCSI FCP frames. Fibre Channel Interface Manual, Rev. D 135 Table 81: FCP XFER RDY Payload Bit Byte 0 7 6 5 4 3 2 1 0 (MSB) 1 Relative Offset 2 3 4 (LSB) (MSB) 5 Burst Length 6 7 8 (LSB) (MSB) 9 Reserved 10 11 Table number 81 (LSB) Field definitions (listed alphabetically) Burst Length 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. 81 Relative Offset The byte offset of the requested transfer relative to the first byte of the data addressed in the CDB. 136 Fibre Channel Interface Manual, Rev. D 11.4 FCP DATA The payload of FCP DATA frames transfer the user data associated with a command. 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. FCP DATA format SOFi3 Frame Header Payload (Data) CRC EOFn or EOFt Table 82: Bit Byte 0 FCP DATA frame header 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 R_CTL 1 (MSB) 2 D_ID 3 4 (LSB) 0 0 0 0 0 0 0 0 Reserved 5 (MSB) 6 S_ID 7 8 (LSB) 0 0 0 0 1 0 0 0 Type 9 (MSB) 10 F_CTL 11 12 13 (LSB) SEQ_ID 0 0 0 0 0 0 0 0 DF_CTL 14 (MSB) SEQ_CNT 15 16 (MSB) (LSB) OX_ID 17 (LSB) 18 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 RX_ID 20 (MSB) 21 22 23 Fibre Channel Interface Manual, Rev. D RO (LSB) 137 Table number 82 Field definitions (listed alphabetically) DF_CTL (Data Field Control) 00h 82 Indicates no optional Fibre Channel headers are used. 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. 82 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 83: 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. 82 OX_ID (Originator Exchange Identifier) The value assigned by the initiator in the FCP CMND. 82 R_CTL (Routing Control) Set to Solicited Data for the FCP DATA frame. 82 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. 82 RX_ID (Responder Identifier) Not used by the drive. The value of FFFFh indicates the RX_ID is not being used. 82 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. 138 Fibre Channel Interface Manual, Rev. D 82 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. 82 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. 82 Type 08h For all SCSI FCP frames. Fibre Channel Interface Manual, Rev. D 139 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 84: FCP RSP header Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 1 1 R_CTL 1 (MSB) 2 D_ID 3 4 (LSB) 0 0 0 0 0 0 0 0 Reserved 5 (MSB) 6 S_ID 7 8 (LSB) 0 0 0 0 1 0 0 0 Type 9 (MSB) 10 F_CTL 11 12 13 (LSB) SEQ_ID 0 0 0 0 0 0 0 0 DF_CTL 14 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 SEQ_CNT 16 (MSB) OX_ID 17 (LSB) 18 1 1 1 1 1 1 1 1 19 1 1 1 1 1 1 1 1 RX_ID 20 21 22 23 140 (MSB) Parameter (LSB) Fibre Channel Interface Manual, Rev. D Table number 84 Field definitions (listed alphabetically) DF_CTL (Data Field Control) 00h 84 Indicates no optional Fibre Channel headers are used. D_ID (Destination Identifier) The address of the initiator that originated the command. 84 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. 84 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. 84 Parameter Not used for the FCP RSP. 84 R_CTL (Routing Control) Set to Command Status for the FCP RSP frame. 84 RX_ID (Responder Identifier) Not used by the drive. The value of FFFFh indicates the RX_ID is not being used. 84 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. 84 SEQ_ID (Sequence Identifier) Set to FFh by the drive. 84 S_ID (Source Identifier) The address of the drive. 84 Type 08h The value for all SCSI FCP frames. Fibre Channel Interface Manual, Rev. D 141 Table 85: FCP RSP Payload Bit Byte 0 7 6 5 4 3 2 1 0 (MSB) : Reserved 9 (LSB) 10 0 11 SCSI Status 12 (MSB) 0 0 Reserved 13 0 Resid Under Run Resid Over Run Sense Length Valid RSP Length Valid Residual Count 14 15 16 (LSB) (MSB) 17 Length of Sense Information 18 19 20 (LSB) (MSB) 21 Length of Response Information 22 23 Table number 85 24 : 31 (MSB) 32 : 51 (MSB) (LSB) SCSI Extended Sense Information (LSB) Length of Response Information 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. Length of Sense Information 1 85 Response Information Field definitions (listed alphabetically) 1 85 (LSB) 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. Residual Count Only valid when a Resid Under Run or Resid Over Run bit is set. When this field is valid, the value is a byte count. 85 Resid Over Run (Residual Over Run) 1 142 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. Fibre Channel Interface Manual, Rev. D 85 Resid Under Run (Residual Under Run) 1 85 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. Response Information Format is shown in Table 86. The response information codes supported are: Value Definition 00 Task Management function Complete or No Failure 01 FCP DATA length different than Burst Length 02 FCP CMND fields invalid 03 RO in the data frame header mismatch with FCP XFER RDY DATA RO 04 Task Management Function not supported 05 Task Management Function failed Table 86: Response Information format Bit Byte (*) 7 6 5 4 0 (24) : 2 (26) (MSB) 3 (27) Response Information Code 4 (28) : 7 (31) (MSB) 3 2 Reserved Reserved (optional) 1 0 (LSB) (LSB) *Fibre Channel frame byte number shown in parenthesis. 85 RSP Length Valid (Response Length Valid) 1 85 Additional FCP response information is included in the payload. The length is given in the Length of Response Information field, bytes 20–23. SCSI Extended Sense Information Additional information related to a Check Condition returned in the SCSI Status byte. See Table 87 on page 145. 85 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 Conflict 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. Fibre Channel Interface Manual, Rev. D 143 85 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. Sense Length Valid 1 144 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. Fibre Channel Interface Manual, Rev. D 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 87. The 1s and 0s shown in the tables below represent the logical 1s and 0s as sent by the disc drive. Table 87: Bit Byte (*) Disc Drive Extended Sense Data Summary 7 0 (32) Validity Bit 6 5 4 3 2 1 0 1 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 Error Code 1 (33) 0 0 0 0 0 Segment Number 2 (34) 0 Filemark 3 (35) (MSB) 0 EOM 0 ILI 0 Sense Key 4 (36) Information 5 (37) 6 (38) 7 (39) 8 (40) (LSB) Additional Sense Length 10 decimal (Max) (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. Table number Field definitions (listed alphabetically) Note. 87 If the Sense Key, Additional Sense Code and Additional Sense Code Qualifier combination is 04/8086 (a Read IOEDC error, see Tables 92 and 93), bytes 14-17 are the four IOEDC words associated with the IOEDC error. Additional Sense Code and Additional Sense Code Qualifier Provide additional clarification of errors when Sense Key is valid. Error code definitions are in Table 93. 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). Fibre Channel Interface Manual, Rev. D 145 87 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. 87 Command Specific Data These four bytes contain data for the command. 87 EOM (End of Medium) Always zero (0) for disc drives. 87 Error Code 70h Current error. 71h Deferred error. These two error conditions are described in Section 11.5.1.2. 87 Filemark Always zero (0) for disc drives. 87 ILI (Incorrect Length Indicator) The requested (previous command) block of data did not match the logical block length of the data on the medium. 87 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. 87 Product Unique Sense Data Not presently used. 87 Segment Number Always zeros. 87 Sense Key General error category. These are listed in Table 92. The code given in byte 12 provides additional clarification of errors. See the Additional Sense Code field definition for related information. 87 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 92. 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. 87 Validity Bit 1 The Information bytes (Bytes 3–6) are valid. 0 The Information bytes (Bytes 3–6) are not valid. 146 Fibre Channel Interface Manual, Rev. D 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 88: Sense Key Specific reference tables Sense Key field value SKSV 05h (Illegal Request) 1 These fields point to illegal parameters in command descriptor blocks and data parameters sent by the initiator. 89 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. 90 02h (Not Ready) 1 These fields are only defined for the Format Unit command with the Immed bit set to one (1). 91 Table 89: Field Pointer bytes Bit Byte 7 6 15 SKSV C/D 16 (MSB) 5 4 89 89 89 3 Reserved BPV 2 1 0 Bit Pointer Field Pointer 17 Table number See table Error description (LSB) Field definitions (listed alphabetically) 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. 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. 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. 89 Bytes identified as being in error are not necessarily the place that has to be changed to correct the problem. 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 88. Fibre Channel Interface Manual, Rev. D 147 Table 90: Bit Byte Actual Retry Count bytes 7 15 SKSV 16 (MSB) 6 5 90 3 2 1 0 Reserved Actual Retry Count 17 Table number 4 (LSB) Field definitions (listed alphabetically) Actual Retry Count Returns implementation-specific information on the actual number of retries used in attempting to recover an error or exception condition. Note. 90 This field relates to the retry count fields specified within the Verify Error Recovery Page (07h) parameters of the Mode Select command. See Table 151. 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 88. Table 91: Bit Byte Format Indication bytes 7 15 SKSV 16 (MSB) 6 91 4 3 2 1 0 Reserved Progress Indication 17 Table number 5 (LSB) Field definitions (listed alphabetically) 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. 91 Bytes 18–n are not presently used. 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 88. 148 Fibre Channel Interface Manual, Rev. D Table 92 lists the sense keys in the extended sense data format that are used by the disc drive. Table 92: 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. 5h 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. 6h Unit Attention: Indicates the disc drive may have been reset. See Section 12.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. Fibre Channel Interface Manual, Rev. D 149 Table 93 lists the extended sense, additional sense, and additional sense qualifier codes. Table 93: Error codes for bytes 12 and 13 of sense data (values are in hexadecimal) Byte 12 (ASC) Byte 13 (ASCQ) Description 00 00 No additional sense information 01 00 No index/sector signals found 02 00 No seek complete (no drive command complete) 03 00 Peripheral device write fault 04 00 Logical unit (drive) not ready, cause not reportable 04 01 Logical unit (drive) not ready, becoming ready 04 02 Logical unit (drive) not ready, initializing command (start unit) required 04 03 Logical unit (drive) not ready, manual intervention required 04 04 Logical unit (drive) not ready, format in progress 08 00 Drive communications failure 08 01 Drive communications timeout 09 00 Track following error 09 01 Write fault status during read 09 04 Head select fault 0A 00 Error log overflow 0C 00 Write error 0C 01 Write error recovered with auto reallocation 0C 02 Write error – auto reallocation failed 10 00 ID CRC or ECC error 11 00 unrecovered read error 11 00 Unrecovered read error 11 04 Unrecovered read error – auto reallocation failed 12 00 Address mark not found for ID field 12 01 Recovered data using headerless retry without ECC using previous sector ID 12 02 Recovered data using headerless retry with ECC using previous sector ID 14 01 Record not found 15 01 Mechanical positioning error 16 00 Data synchronization mark missing or incorrect 17 01 Recovered data using retries 17 02 Recovered data using positive offset 17 03 Recovered data using negative offset 17 06 Recovered data without ECC – data auto reallocated 18 00 Recovered data using ECC, no retries attempted 18 01 Recovered data using ECC after normal retries 18 02 Recovered data with ECC and/or retries, data auto-reallocated 18 05 Recovered data with ECC and/or retries, recommend reassignment 150 Fibre Channel Interface Manual, Rev. D Table 93: Error codes for bytes 12 and 13 of sense data (values are in hexadecimal) (Continued) Byte 12 (ASC) Byte 13 (ASCQ) Description 19 00 Defect list error 1A 00 Parameter list length error 1C 00 Defect list not found 1D 00 Miscompare during verify operation 20 00 Invalid command operation code 21 00 Logical block address out of range 24 00 Invalid field in CDB 25 00 Logical unit number not supported 26 00 Invalid field in parameter list 26 01 Invalid field parameter – parameter not supported 26 02 Invalid field parameter – parameter value invalid 26 03 Invalid field parameter – threshold parameter not supported 26 04 Invalid release of persistent reservation 26 97 Invalid field parameter – TMS firmware tag 26 98 Invalid field parameter – check sum 26 99 Invalid field parameter – firmware tag 27 00 Write protected 29 00 Power-on or reset 29 01 Power on 29 02 LIP reset 29 03 Device reset 29 04 Internal reset 2A 00 Parameters changed 2A 01 Mode parameters changed 2A 02 Log parameters changed 2A 03 Reservations preempted 2A 04 Reservation released 2A 05 Registrations preempted 2C 00 Command sequence error 2F 00 Tagged commands cleared by another initiator 31 00 Medium format corrupted 31 01 Format failed 31 91 Format corrupted – ETF WWN is invalid 32 00 No defect spare location available 32 01 Defect list update error 32 02 No spares available – too many defects on one track Fibre Channel Interface Manual, Rev. D 151 Table 93: Error codes for bytes 12 and 13 of sense data (values are in hexadecimal) (Continued) Byte 12 (ASC) Byte 13 (ASCQ) Description 35 00 Enclosure services failure 35 01 Unsupported enclosure function 35 02 Enclosure services unavailable 35 03 Enclosure services transfer failure 35 04 Enclosure services transfer refused 37 00 Parameter rounded 3F 01 Microcode changed 3F 02 Changed operating definition 3F 05 Device identifier changed 3F 91 WWN mismatch, ETF WWN is valid 40 01 DRAM parity error 42 00 Power-on or self-test failure 43 00 Message reject error 44 00 Internal target failure 45 00 Select or reselect failure 47 00 Interface error When the ASC and ASCQ are 47 and 00 respectively, the Sense Key Specific field of the Extended Sense Data has the meaning defined below. Note that more than one bit may be set. Byte 16: Bit 7 - Invalid destination ID Bit 6 - Invalid source ID Bit 5 - Invalid frame type Bit 4 - Invalid f_ctl Bit 3 - Invalid sequence ID Bit 2 - Invalid df_ctl Bit 1 - Invalid sequence count Bit 0 - Invalid 0x_id Byte 17: Bit 7 - Running disparity error Bit 6 - CRC error Bit 5 - Payload still coming after transfer count went to 0, or invalid primitive detected before EOF. Bit 4 - EOFa — ‘abort’ detected as EOR Bit 3 - Invalid EOF (EOFni EOFdti) Bit 2 - Unsupported EOF Bit 1 - Unsupported Class (Class 1 or 2 SOF primitive detected) Bit 0 - Invalid R_CTL 48 00 Initiator detected error 49 00 Invalid message 4E 00 Overlapped commands attempted 152 Fibre Channel Interface Manual, Rev. D Table 93: Error codes for bytes 12 and 13 of sense data (values are in hexadecimal) (Continued) Byte 12 (ASC) Byte 13 (ASCQ) Description 55 01 XOR cache is not available 55 03 Insufficient reservation resources 55 04 Insufficient registration resources 5B 00 Log exception 5B 01 Threshold condition met 5B 02 Log parameter value at maximum 5C 00 Servo RPL status change 5C 01 Servo RPL spindles synchronized 5C 02 Servo RPL spindles not synchronized 5D 00 Failure prediction threshold exceeded 5D FF False failure prediction threshold exceeded 65 00 Voltage fault 80 00 General firmware error qualifier 80 80 FC FIFO error during read transfer 80 81 FC FIFO error during write transfer 80 82 Disc FIFO error during read transfer 80 83 Disc FIFO error during write transfer 80 84 LBA seeded CRC error on read 80 85 LBA seeded CRC error on write 80 86 IOEDC error on read 80 87 IOEDC error on write 81 00 Reassign power-fail recovery failed 11.5.1.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 Fibre Channel Interface Manual, Rev. D 153 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 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. 154 Fibre Channel Interface Manual, Rev. D 12.0 Commands This section contains information about the commands used by Seagate Fibre Channel disc drives. This section is organized to provide rapid access to command information. Navigation assistance All commands are: • Listed alphabetically by command name. • Cross-referenced by command name and command operation code. The field descriptions that are provided for most tables have sidebar labels which identify the table they are associated with. This helps orient you when nested tables complicate the structure of this section. Sidebar example Table number 1 Field definitions (listed alphabetically) Field name The sidebar (black background with reversed text) identifies this field as being associated with Table 1. Fibre Channel Interface Manual, Rev. D 155 Table 94: Commands sorted by command name Command type Command name Change Definition (obsolete) Length Direct access 6 10 12 16 32 Op All code devices devices bytes bytes bytes bytes bytes Variable 40h x Reference 12.1 (see page 160) Compare (obsolete) 39h x 12.2 (see page 160) Copy (obsolete) 18h x 12.3 (see page 160) Copy and Verify (obsolete) 3Ah x Format Unit 04h x Inquiry 12h Lock-Unlock Cache (10) 36h Lock-Unlock Cache (16) 92h Log Select 4Ch x x 12.9 (see page 187) Log Sense 4Dh x x 12.10 (see page 190) Mode Select (6) 15h x Mode Select (10) 55h x Mode Sense (6) 1Ah x x 12.4 (see page 160) x 12.5 (see page 161) x x 12.6 (see page 168) x 12.7 (see page 184) x Mode Sense (10) 5Ah x Move Medium A7h x x 12.8 (see page 185) x 12.11 (see page 206) x 12.12 (see page 210) x 12.13 (see page 211) x 12.14 (see page 246) 12.15 (see page 248) Persistent Reserve In 5Eh x x 12.16 (see page 249) Persistent Reserve Out 5Fh x x 12.17 (see page 254) Prefetch (10) 34h x x Prefetch (16) 90h x Prevent/Allow Medium Removal 1Eh x Read (6) 08h x Read (10) 28h x Read (12) A8h x x 12.21 (see page 262) x 88h x 3Ch x x Read Capacity (10) 25h x x Read Capacity (16) 9Eh x Read Defect Data (10) 37h x Read Defect Data (12) B7h x B4h x 3Eh x Reassign Blocks 07h Receive Diagnostic Results 1Ch Release (6) (obsolete) 17h Release (10) (obsolete) Report Device Identifier x x x 57h A3h Report LUNs A0h Request Sense 03h 12.22 (see page 264) x Read Buffer Read Long 12.23 (see page 266) x 12.24 (see page 268) 12.25 (see page 270) 12.26 (see page 273) x 10h x 12.27 (see page 275) 12.28 (see page 277) x 12.29 (see page 280) 12.30 (see page 283) x 12.31 (see page 284) x 12.32 (see page 285) x 12.33 (see page 287) x 12.34 (see page 293) x x x 12.35 (see page 293) x x x 12.19 (see page 259) 12.20 (see page 261) Read (16) Read Element Status 12.18 (see page 258) x 05h x 12.36 (see page 294) 12.37 (see page 296) x 12.38 (see page 298) Reserve (6) (obsolete) 16h x Reserve (10) (obsolete) 56h x Rezero Unit (obsolete) 01h x Search Data Equal (obsolete) 31h x 12.42 (see page 302) Search Data High (obsolete) 30h x 12.43 (see page 302) Search Data Low (obsolete) 32h x Seek (6) (obsolete) 0Bh x Seek (10) 2Bh Send Diagnostic 1Dh x Set Device Identifier A4h x Set Limits 33h 156 x 12.39 (see page 299) x 12.40 (see page 299) x 12.41 (see page 302) 12.44 (see page 302) x x 12.45 (see page 302) x 12.46 (see page 303) x 12.47 (see page 304) x x 06h 12.48 (see page 310) 12.49 (see page 312) Fibre Channel Interface Manual, Rev. D Table 94: Commands sorted by command name (Continued) Command type Command name Length Direct access 6 10 12 16 32 Op All code devices devices bytes bytes bytes bytes bytes Variable Start/Stop Unit 1Bh x Synchronize Cache (10) 35h x Synchronize Cache (16) 91h x Test Unit Ready 00h Verify (10) 2Fh x Verify (12) AFh x Verify (16) 8Fh x Write (6) 0Ah x Write (10) 2Ah x Write (12) AAh x Write (16) 8Ah x Write and Verify (10) 2Eh x Write and Verify (12) AEh x x x Reference 12.50 (see page 313) x 12.51 (see page 314) x 12.52 (see page 315) x 12.53 (see page 316) x 12.54 (see page 317) x 12.55 (see page 318) x 12.56 (see page 320) x 12.57 (see page 322) x 12.58 (see page 324) x 12.59 (see page 326) x 12.60 (see page 328) x 12.61 (see page 330) x x 12.62 (see page 331) Write and Verify (16) 8Eh Write Buffer 3Bh Write Long 3Fh x x 12.65 (see page 339) Write Same (10) 41h x x 12.66 (see page 340) x Write Same (16) 93h x XDRead (10) 52h x XDRead (32) 7Fh x XDWrite (10) 50h x XDWrite (32) 7Fh x XDWriteRead (10) 53h x XDWriteRead (32) 7Fh x XPWrite (10) 51h x XPWrite (32) 7Fh x Fibre Channel Interface Manual, Rev. D x 12.63 (see page 333) x 12.64 (see page 335) x 12.67 (see page 341) x 12.68 (see page 342) x 0003h x 12.69 (see page 343) 12.70 (see page 345) x 0004h x 0007h x 12.71 (see page 347) 12.72 (see page 349) x 12.73 (see page 350) 12.74 (see page 352) x 0006h 12.75 (see page 353) 157 Table 95: Commands sorted by operation code Command type Op code 00h Command name Test Unit Ready 01h Rezero Unit 03h Request Sense 04h Format Unit 07h 08h 0Ah Write (6) Length Direct access 6 10 12 16 32 All devices devices bytes bytes bytes bytes bytes Variable x (obsolete) x 12.53 (see page 316) x 12.41 (see page 302) x 12.38 (see page 298) x x 12.5 (see page 161) Reassign Blocks x x 12.32 (see page 285) Read (6) x x 12.21 (see page 262) x x 12.57 (see page 322) x x 12.45 (see page 302) 0Bh Seek (6) 12h Inquiry 15h Mode Select (6) x Reference x (obsolete) x x x 12.6 (see page 168) x 12.11 (see page 206) 16h Reserve (6) (obsolete) x x 12.39 (see page 299) 17h Release (6) (obsolete) x x 12.34 (see page 293) 18h Copy (obsolete) x 1Ah Mode Sense (6) x x 12.13 (see page 211) 1Bh Start/Stop Unit x x 12.50 (see page 313) 12.33 (see page 287) 12.3 (see page 160) 1Ch Receive Diagnostic Results x x 1Dh Send Diagnostic x x 1Eh Prevent/Allow Medium Removal x 25h Read Capacity (10) x x 28h Read (10) x x 12.22 (see page 264) 2Ah Write (10) x x 12.58 (see page 324) 2Bh Seek (10) x x 12.46 (see page 303) 2Eh Write and Verify (10) x x 12.61 (see page 330) 2Fh Verify (10) x x 12.54 (see page 317) 30h Search Data High (obsolete) x 31h Search Data Equal (obsolete) x 12.42 (see page 302) 32h Search Data Low (obsolete) x 12.44 (see page 302) 33h Set Limits x 34h Prefetch (10) x x 12.18 (see page 258) 35h Synchronize Cache (10) x x 12.51 (see page 314) 36h Lock-Unlock Cache (10) x x 12.7 (see page 184) 37h Read Defect Data (10) x x 39h Compare (obsolete) 3Ah Copy and Verify (obsolete) 3Bh Write Buffer 3Ch Read Buffer 3Eh Read Long 3Fh Write Long 40h Change Definition 41h Write Same (10) x 12.66 (see page 340) 4Ch Log Select x x 12.9 (see page 187) 4Dh Log Sense x x 12.10 (see page 190) 50h XDWrite (10) x x 12.70 (see page 345) 51h XPWrite(10) x x 12.74 (see page 352) 52h XDRead (10) x x 12.68 (see page 342) 53h XDWriteRead (10) x x 12.72 (see page 349) 55h Mode Select (10) x x 12.12 (see page 210) 56h Reserve (10) (obsolete) x x 12.40 (see page 299) 57h Release (10) (obsolete) x x 12.35 (see page 293) 158 12.47 (see page 304) 12.20 (see page 261) 12.43 (see page 302) 12.49 (see page 312) x (obsolete) 12.28 (see page 277) 12.2 (see page 160) x x 12.26 (see page 273) 12.4 (see page 160) x 12.64 (see page 335) x x 12.25 (see page 270) x x 12.31 (see page 284) x x x x 12.65 (see page 339) 12.1 (see page 160) Fibre Channel Interface Manual, Rev. D Table 95: Commands sorted by operation code Command type Op code 5Ah Command name Length Direct access 6 10 12 16 32 All devices devices bytes bytes bytes bytes bytes Variable Mode Sense (10) x x Reference 12.14 (see page 246) 5Eh Persistent Reserve In x x 12.16 (see page 249) 5Fh Persistent Reserve Out x x 12.17 (see page 254) 7Fh XDRead (32) x x 0003h 7Fh XDWrite (32) x x 0004h 12.71 (see page 347) 7Fh XPWrite (32) x x 0006h 12.75 (see page 353) 7Fh XDWriteRead (32) x x 0007h 88h Read (16) x x 12.24 (see page 268) 8Ah Write (16) x x 12.60 (see page 328) 8Eh Write and Verify (16) x x 12.63 (see page 333) 8Fh Verify (16) x x 12.56 (see page 320) 90h Prefetch (16) x x 12.19 (see page 259) 91h Synchronize Cache (16) x x 12.52 (see page 315) 92h Lock-Unlock Cache (16) x x 12.8 (see page 185) 93h Write Same (16) x x 12.67 (see page 341) 9Eh Read Capacity (16) x A0h Report LUNs x A3h Report Device Identifier x A4h Set Device Identifier x A7h Move Medium x 12.69 (see page 343) 12.73 (see page 350) 10h 12.27 (see page 275) x 05h 12.36 (see page 294) x 06h x x 12.37 (see page 296) 12.48 (see page 310) 12.15 (see page 248) A8h Read (12) x x 12.23 (see page 266) AAh Write (12) x x 12.59 (see page 326) AEh Write and Verify (12) x x 12.62 (see page 331) AFh Verify (12) x x 12.55 (see page 318) B4h Read Element Status x B7h Read Defect Data (12) x x 12.29 (see page 280) Fibre Channel Interface Manual, Rev. D 12.30 (see page 283) 159 12.1 Change Definition command 40h Obsolete. If this command is received, the disc drive sends a Check Condition status and a sense key of Illegal Request. 12.2 Compare command 39h Obsolete. A Check Condition status is sent if a Compare command is received. 12.3 Copy command 18h Obsolete. If received, the disc drive sends a Check Condition status and a sense key of Illegal Request. 12.4 Copy and Verify command 3Ah Obsolete. A Check Condition status is sent if a Copy and Verify command is received. 160 Fibre Channel Interface Manual, Rev. D 12.5 Format Unit command 04h The Format Unit command ensures that the medium is formatted so all of the user-addressable data blocks can be accessed. There is no guarantee that the medium has or has not been altered. In addition, the medium may be certified and control structures may be created for the management of the medium and defects. The drive allows an initiator to specify (or not specify) sectors which are to be reallocated during the format process. The format parameters to be specified in the Format Unit command are defined in Table 97. The Format Unit command is rejected with Reservation Conflict status if the logical unit is reserved, or any extent reservation, from any initiator, is active in the specified logical unit. During the format operation, the target responds to commands as follows: • In response to all commands except Request Sense and Inquiry, the target returns Check Condition status unless a reservation conflict exists, in which case Reservation Conflict status is returned. • The target responds to the Inquiry and Request Sense commands normally. Table 96: Format Unit command (04h) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 0 0 1 0 0 Reserved 0 FMT DATA CMP LST 2 0 0 0 0 0 3 4 5 Table number 96 Defect List Format 0 0 0 Interleave Control Field definitions (listed alphabetically) CMP LST (Complete List) 1 The data supplied is the complete list of Growth defects. Any previous Growth defect data or Certification defect data is erased. The disc drive adds to this list as it formats the medium. The result is to purge any previous Growth or Certification defect list and to build a new defect list. 1 When FMT DATA equals 0, the Format Unit command is terminated with Check Condition status and a sense key of Illegal Request. 0 The data supplied is in addition to the existing Growth defect list. The use of the P list and C list defect is controlled by byte 1 of the defect list header (see Table 98). 96 Control See Control Bytes in Section 11.2.1.6. 96 Defect List Format Specifies additional information related to the defect list. (See Table 97 for further information.) 96 FMT DATA (Format Data) 1 The Format Unit Parameter list (Section 12.5.1) is supplied in a data transfer. The data transferred consists of a defect list header (Table 98), followed by an initialization pattern descriptor (Table 99 if any) followed by the defect descriptors. The format of the defect descriptor list is determined by the Defect List Format field. 0 The data transfer does not occur (no defect data will be supplied by the initiator). Fibre Channel Interface Manual, Rev. D 161 96 Interleave This field requests that logical blocks be related in a specific fashion to the physical blocks to facilitate data transfer speed matching. 0 The target uses its default interleave. 1 Consecutive logical blocks will be placed in consecutive physical order. Š2 One or more (respectively) physical blocks separate consecutive logical blocks. The disc drive implements an optional prefetch (read look ahead) function which reads a user-specified number of sectors into its buffer beyond and contiguous to the sectors requested by the read command. This data is subsequently available for the next sequential read command without re-access of the disc media thereby increasing performance and negating the need for an interleave during format if this prefetch option is enabled (see Read Command, Section 12.21). Interleave values other than zero or one are vendor specific. The following definitions of flaw categories are supplied to help you understand the alternatives listed in Table 97. P Primary Defect Type: P type flawed sectors are identified at the time of shipment in a list of defects (permanent flaws) supplied by Seagate and stored on the disc in an area that is not directly accessible by the user. (This list may be referred to as an ETF List). This defect list is not modified or changed by the disc drive (or initiator) after shipment. C Certification Defect Type: C type flawed sectors are sectors that fail a format verify during the format function. D Data Defect Type: D type sectors are sectors identified in a list supplied to the target by the initiator during a Format Unit command. The D List follows a four-byte defect list header and is referred to as Defect Descriptor Bytes. G Growth Defect Type: G type flawed sectors contain medium flaws and have been reallocated as a result of receiving a Reassign Blocks command, or certification defects (C type) reallocated during a previous Format Unit command, or Data Defects (D type) reallocated during a previous Format Unit command or defects that have been automatically reallocated by the drive. This (G) list is recorded on the disc drive media and may be referenced for the current (and subsequent) Format Unit commands. This (G) list does not include the Primary (P) list of defects. 162 Fibre Channel Interface Manual, Rev. D Table 97: Format Unit parameter definition (format variations) CDB–Byte (see Table 96) FMT DATA CMP LIST Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Comments 0 X X X X Default format: No data is transferred. The disc drive reallocates all sectors in the P list plus any sector which fails to Format Verify phase (C type flaws). Any previous G list is erased. Defect List Format Block format [2] 1 0 0 X X Format with G and no D: A four-byte Defect List header must be sent by the initiator. No Defect Descriptors (D list) are sent by the initiator. The disc drive reallocates all sectors in the drive’s current G list. See also note [1]. 1 1 0 X X Format without G or D: A four-byte Defect List header must be sent by the initiator. No D list may be sent by the initiator. The disc drive erases any previous G list. See also note [1]. 0 Format with D and without G: The initiator must send a four-byte Defect List header followed by a D list of the defects for the disc drive to reallocate. The D list must be in the bytes from Index format (see Table 102). The disc drive erases any previous G list. See also note [1]. 0 Format with D and with G: The initiator must send a four-byte Defect List header followed by a D list of the defects for the disc drive to reallocate. The D list must be in the bytes from Index format (see Table 102). The disc drive also reallocates all sectors in the drive’s current G list. See also note [1]. 1 Format with D and without G: The initiator must send a four-byte Defect List header followed by a D list of defects for the disc drive to reallocate. The D list must be in the Physical Sector format (see Table 103). The disc drive erases any previous G list. See also note [1]. 1 Format with D and with G: The initiator must send a four-byte Defect List header followed by a D list of defects for the disc drive to reallocate. The D list must be in the Physical Sector format (see Table 103). The disc drive also reallocates all sectors in the drive’s current G list. See also note [1]. Bytes from Index format 1 1 1 0 1 1 0 0 Physical Sector format 1 1 [1] [2] 1 0 1 1 0 0 Byte 1 of the Defect List header determines whether the P and C defects are reallocated. See Table 98. See individual drive’s Product Manual, Volume 1, for support/non-support. The defect list shown in Table 98 contains a four-byte header followed by one or more defect descriptors. The Defect List Length in each table specifies the total length (in bytes) of the defect descriptors that follow. In Table 98 the Defect List Length is equal to eight times the number of defect descriptors. Fibre Channel Interface Manual, Rev. D 163 12.5.1 Format Unit parameter list Parameter Reference Defect List Header See Table 98 Initialization Pattern Descriptor See Table 99 Defect Descriptors See Tables 101, 102, and 103 12.5.1.1 Table 98: Defect List header Defect List header Bit 7 6 5 4 3 2 1 0 DPRY DCRT STPF IP DSP Immed VS Byte 0 Reserved 1 FOV 2 (MSB) Defect List Length 3 Table number 98 (LSB) Field definitions (listed alphabetically) DCRT (Disable Certification) 1 The disc drive does not perform a verify function during formatting (thus no C list for this format is created or reallocated). 0 The disc drive performs a verify function during formatting and reallocates any sector that fails the verify (i.e., a C list is created and these flaws reallocated). On drives that have MR (magnetoresistive) heads, the DCRT bit is always interpreted as a 0 when the user sets the IP bit (see Table 98) and specifies a format pattern of greater than 1 byte (see Table 99), and/or if the IP Modifier bits are set to 01 or 10 (see Table 99). This is done since the user format pattern and/or IP header is written onto the media during the format certification phase. Because of this the user may see G list entries added to the defect list even though the DCRT bit was set to 1. 98 Defect List Length The length of any following D list (Defect descriptors) must be equal to 8 times the number of sectors to be reallocated per Table 102 or Table 103. Note. 98 98 98 The initiator may not use any previously defined C, G, or D lists if the sector size (block length) has been changed. DPRY (Disable Primary) 1 Flaws in the disc drive P list are not reallocated during formatting. This means existing reallocations of the P list are canceled and no new reallocations made during formatting. The P list is retained. 0 Flaws in the disc drive P list are reallocated during formatting. A Check Condition is sent in the status if the P list cannot be found by the disc drive. DSP (Disable Saving Parameters) 1 The target does not save the Mode Select savable parameters to nonvolatile memory during the format operation. 0 The target saves all the Mode Select savable parameters for all initiators to nonvolatile memory during the format operation. FOV (Format Options Valid) 1 The disc drive interprets the remaining bits of byte 1. 0 The disc drive checks the remaining bits of byte 1 for zeros. 164 Fibre Channel Interface Manual, Rev. D 98 Immed (Immediate) 0 Status will be returned after the first operation has completed. 1 The target will return status as soon as the command descriptor block has been validated, and the entire defect list has been transferred. Check individual drive’s Product Manual, Volume 1, for applicability of this feature. 98 IP (Initialization Pattern) This field indicates the type of pattern the target uses to initialize each logical block within the initiator accessible portion of the medium (Table 100). All bytes within a logical block are written with the initialization pattern. The initialization pattern is modified by the IP modifier field as described in Table 100. 98 98 1 An initialization pattern descriptor is included in the Format Unit parameter list immediately following the Defect List header. 0 An initialization pattern descriptor is not included and the target uses its default initialization pattern. STPF (Stop Format) 1 Formatting is terminated with a Check Condition status if an error is encountered while accessing either the P or G defect list. The sense key is set to Medium Error and the additional sense code is set to either Defect List Not Found or Defect List Error. 0 Formatting is not terminated if an error is encountered while accessing either the P or G defect list. VS (Vendor Specific) Not used. 12.5.1.2 Initialization Pattern descriptor The initialization pattern option specifies that the logical blocks contain the specified initialization pattern. The initialization pattern descriptor is sent to the target as part of the Format Unit parameter list. Table 99: Initialization Pattern descriptor Bit 7 6 5 4 3 2 1 0 Byte 0 IP Modifier 1 Pattern Type 2 (MSB) Initialization Pattern Length 3 (LSB) 0–n Table number 99 Reserved Initialization Pattern Field definitions (listed alphabetically) Initialization Pattern (IP) and IP Modifier The Initialization Pattern field is modified in accordance with the specification of the IP Modifier field given in Table 100. The Initialization Pattern is sent by the host for the drive to write in each logical block by the Format command. Refer to the table below. Table 100: Initialization Pattern Modifier IP Modifier 0 0 0 1 Description No header. The target does not modify the initialization pattern. The target overwrites the initialization pattern to write the logical block address in the first four bytes of the logical block. The logical block address is written with the most significant byte first. or 1 0 1 1 Reserved. Fibre Channel Interface Manual, Rev. D 165 99 Initialization Pattern Length The number of bytes contained in the initialization pattern. If the length exceeds the current logical block size, this is an error. The initialization pattern is sent by the host for the drive to write in each logical block by the Format command. 99 Pattern Type 00h Use default pattern. If the initialization pattern length is not zero, this is an error and the drive terminates the command with Check Condition status. The sense key is set to Illegal Request and the additional sense error code is set to Invalid Field In Parameter List. 01h Use pattern supplied by host computer. If the Initialization Pattern Length is zero or insufficient data is provided by the initiator, this is an error and the drive terminates the command with Check Condition status. The sense key is set to Illegal Request and the additional sense error code is set to Invalid Field In Parameter List. 02-7Fh Reserved. 80-FFh Vendor specific. Defect List formats This section describes the format of the defect list that follows the Defect List header described in Table 98. Three formats are possible: • Block format (Seagate does not support the block format, except as a customer special option) • Index format (see Table 102) • Physical Sector format (see Table 103). Table 101: Defect descriptors Byte Description 0–n Defect descriptor bytes (Refer to Table 102 for Index format and Table 103 for Physical Sector format) Table 102: Defect descriptor bytes–Index format Byte Description 0 Cylinder Number of Defect (MSB) 1 Cylinder Number of Defect 2 Cylinder Number of Defect (LSB) 3 Head Number of Defect 4 Defect Bytes from Index (MSB) 5 Defect Bytes from Index 6 Defect Bytes from Index 7 Defect Bytes from Index (LSB) For defects to be specified in the Bytes from Index format, the defect list format field (Byte 1, bits 2, 1, 0) must be 100 (binary), see Tables 96 and 97. Each defect descriptor for the Bytes from Index format specifies the beginning of an eight bit (1 byte) defect location on the medium. Each defect descriptor is comprised of the cylinder number of the defect, the head number of the defect and the number of bytes from Index to the defect location. The defect descriptors are in ascending order. The drive may return Check Condition if the defect descriptors are not in ascending order. For determining ascending order, the Cylinder Number of Defect is considered the most significant part of the address and the Defect Bytes from Index is considered the least significant part of the address. 166 Fibre Channel Interface Manual, Rev. D A value for Defect Bytes from Index of FFFFFFFFh (i.e., reassign the entire track) is illegal for the disc drive. Table 103: Defect descriptor bytes–Physical Sector format Byte Description 0 Cylinder Number of Defect (MSB) 1 Cylinder Number of Defect 2 Cylinder Number of Defect (LSB) 3 Head Number of Defect 4 Defect Sector Number (MSB) 5 Defect Sector Number 6 Defect Sector Number 7 Defect Sector Number (LSB) Information in this table is repeated for each defect. For defects to be specified in the Physical Sector format, the Defect List format field (Byte 1, bits 2, 1, 0) must be 101 (binary). See Tables 96 and 97. Each defect descriptor for the Physical Sector format specifies a sector size defect location comprised of the cylinder number of the defect, the head number of the defect and the defect sector number. The defect descriptors are in ascending order. The drive may return Check Condition if the defect descriptors are not in ascending order. For determining ascending order, the Cylinder Number of the defect is considered the most significant part of the address and the Defect Sector Number is considered the least significant part of the address. A value for Defect Sector Number of FFFFFFFFh (i.e., reassign the entire track) is illegal for the disc drive. Fibre Channel Interface Manual, Rev. D 167 12.6 Inquiry command 12h The Inquiry command requests that information regarding parameters of the disc drive be sent to the initiator. The Enable Vital Product Data (EVPD) option allows the initiator to request additional information about the disc drive. See Section 12.6.1. Several Inquiry commands may be sent to request the vital product data pages instead of the standard data shown in Table 105 on page 170. Table 104: Inquiry command (12h) Bit 7 6 5 4 3 2 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 EVPD 0 0 0 0 Byte Reserved Table number 104 2 Page Code 3 0 0 4 Allocation Length (in bytes) 5 Control 0 0 Field definitions (listed alphabetically) Allocation Length The allocation length specifies the number of bytes the initiator has allocated for returned data. The disc drive terminates the Data In phase when allocation length bytes have been transferred or when all available data have been transferred to the initiator, whichever is less. 104 Control See Control Bytes in Section 11.2.1.6. 104 104 EVPD (Enable Vital Product Data) 0 The disc drive returns the standard Inquiry data. 1 The disc drive returns the vital product data specified by the page code field. Page Code The Page Code field specifies the page of vital product data information that the disc drive returns. If the EVPD bit = 0 and the page code field is not 0, the disc drive returns Check Condition status with the sense key set to Illegal Request and an additional sense code of Invalid Field In CDB. 168 Fibre Channel Interface Manual, Rev. D Additional Inquiry command information The Inquiry command returns Check Condition status only when the disc drive cannot return the requested Inquiry data. If an Inquiry command is received from an initiator with a pending unit attention condition (i.e., before the disc drive reports Check Condition status), the disc drive performs the Inquiry command and does not clear the Unit Attention condition. The Inquiry command is typically used by the initiator after a reset or power-up condition to determine the device types for system configuration. To minimize delays after a reset or power-up condition, the standard Inquiry data is available without incurring any media access delays. Since the disc drive stores some of the Inquiry data on the device media it may return zeros or ASCII spaces (20h) in those fields until the data is available. The Inquiry data may change as the disc drive executes its initialization sequence or in response to a Change Definition command. For example, the disc drive may contain a minimum command set in its nonvolatile memory and load its final firmware from the medium when it becomes ready. After it has loaded the firmware it may support more options and therefore return different supported options information in the Inquiry data. Fibre Channel Interface Manual, Rev. D 169 Disc drive inquiry data The disc drive standard inquiry data contains 36 required bytes, followed by a number of bytes of disc drive specific data that is drive dependent. See individual drive’s Product Manual, Volume 2. Refer to the standard Inquiry data in Table 105. Table 105: Disc drive inquiry data format Bit 7 6 5 4 3 2 1 0 0 0 Byte 0 Peripheral Qualifier Peripheral Device Type 1 0 0 0 0 0 2 0 0 0 0 0 3 0 AENC 0 TRMIOP 0 NACA 0 HiSupport 4 105 ANSI-Approved Version Response Data Format Additional Length 5 0 0 0 0 0 0 0 0 6 BQue ENCSER Port Dual P 0 0 0 0 0 0 0 LINKED 0 TrnDis CMD QUE Soft Reset 7 Table number 0 RelAdr 8 : 15 Vendor Identification 16 : 31 Product Identification 32 : 35 Product Revision Level 36 : 43 Drive Serial Number 44 : 55 Unused Vendor-Specific Area (00h) 56 : 95 Reserved (00h) 96 : 143 Copyright Notice Field definitions (listed alphabetically) Additional Length Specifies the length (in bytes) of the parameters. If the allocation length of the command descriptor block is too small to transfer all of the parameters, the additional length is not adjusted to reflect the truncation. 105 AENC (Asynchronous Event Notification Capability) 0 170 The disc drive does not support the asynchronous event notification capability. Fibre Channel Interface Manual, Rev. D 105 ANSI-Approved Version 2h 105 Indicates this device complies with ANSI lX3.131-199x (SCSI-2) and the SCSI-3 features as described in this manual. BQue (Basic Queuing) The following BQue values are valid only when the CMD QUE bit = 0. 105 105 0 The device does not support tagged tasks (command queuing) for this logical unit. This value is always used if the CmdQue bit is 1. 1 The device supports, for this logical unit, the basic task management model defined by ANSI document SCSI3 Architectural Model-2, T10/1157. CMD QUE (Command Queuing) 0 The disc drive does not support tagged command queuing. 1 The disc drive supports tagged command queuing. Copyright Notice The 48 bytes of ASCII data “Copyright (c) XXXX Seagate All rights reserved,” where “XXXX” indicates the current year (for example: 1997). 105 Drive Serial Number The 8 bytes of ASCII data containing 8-digit drive serial number. 105 105 105 105 105 Dual P (Dual Port) 0 The disc drive is not a dual port device. 1 The disc drive is a dual port device. ENCSER (Enclosure Services) 0 The drive does not support the enclosure services diagnostic pages. 1 The drive supports the Enclosure Service Diagnostic pages (see Sections 12.33 and 12.47). The drive returns Enclosure Services Information (ESI) data as a result of a Receive Diagnostic Results command. HiSupport (Hierarchical Support) 0 The target does not use the hierarchical addressing model to assign LUNs to logical units. 1 The target uses the hierarchical addressing model to assign LUNs to logical units. When the HiSupport bit is one, the device server supports the Report LUNs command. LINKED (Linked Command) 0 The disc drive does not support linked commands. 1 The disc drive supports linked commands. NACA (Normal Auto Contingent Allegiance) 0 105 Peripheral Qualifier and Peripheral Device Type 00h 105 Drives supported by this manual do not support ACA. A direct-access device (magnetic disc) is connected to this logical unit. Port This bit is only defined when the Dual Port (Dual P) bit = 1. 105 0 The disc drive received the Inquiry command on port A. 1 The disc drive received the Inquiry command on port B. Product Identification The ASCII data containing the drive model number. The data is left-aligned within this field. 105 Product Revision Level The four bytes of ASCII data containing the last four digits of the firmware release number. Fibre Channel Interface Manual, Rev. D 171 105 RelAdr (Relative Addressing) This function is not supported by drives described in this manual. 105 Reserved Byte 56 through byte 95 are filled with 00h. 105 105 105 Response Data Format 0 The Inquiry data format is as specified in the ANSI SCSI-1 standard. 1 Indicates compatibility with some products that were designed prior to the development of the ANSI SCSI-2 standard (i.e., CCS). 2 Indicates that the data is in the format specified in the SCSI-2 standard. >2 Values greater than two are reserved. Soft Reset 0 The drive responds to the Reset condition with the hard Reset alternative. 1 The drive responds to the Reset condition with the soft Reset alternative. TRMIOP (Terminate I/O Process) 0 105 The disc drive does not support the Terminate I/O Process message. TrnDis (Transfer Disable) Not supported. 105 Vendor Identification The ASCII data containing the vendor name (“SEAGATE”). 172 Fibre Channel Interface Manual, Rev. D 12.6.1 Vital product data pages The initiator requests the vital product data information by setting the EVPD bit to one and specifying the page code of the desired vital product data. If the disc drive does not implement the requested page it returns Check Condition status. The sense key is set to Illegal Request and the additional sense code is set to Invalid Field in CDB. This section describes the vital product data page structure and the vital product data pages that are applicable to the disc drive. These pages are optionally returned by the Inquiry command and contain specific product information about the disc drive. The vital product data includes unit serial numbers, device operating definitions, firmware release numbers, servo ROM and RAM release numbers and the date code from the manufacturer’s defect log. Table 106: Vital product data page Bit 7 6 5 4 3 2 1 0 0 0 Byte 0 Peripheral Qualifier Page Code (00h) 1 2 Table number 106 Peripheral Device Type 0 0 3 Page Length 4 : 8 Supported Page List 0 0 0 0 Field definitions (listed alphabetically) Page Code Page 00h provides a list of all supported vital product data pages. The Page Code field is set to the value of the Page Code field in the Inquiry command descriptor block. Page Code C3 is only returned by ASA-II firmware. 106 Page Length The length (in bytes) of the supported page list. If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. The page length reported by ASA-1 firmware is 06. The page length reported by ASA-II firmware is 07. The total number of bytes returned (N) will be Page Length +4 in either case. 106 Peripheral Qualifier and Peripheral Device Type 00h 106 A direct-access device (magnetic disc) is connected to this logical unit. Supported Page List Contains a list of all vital product data page codes implemented for the disc drive in ascending order beginning with Page Code 0h. See Table 107. Table 107: Vital product data page codes Page Code Description 00h Supported vital product data pages 80h Unit Serial Number page 81h Implemented Operating Definition page 83h Device Identification page C0h Firmware Numbers page C1h Date Code page C2h Jumper Settings page C3h Device Behavior page Fibre Channel Interface Manual, Rev. D 173 12.6.2 Unit Serial Number page (80h) The Unit Serial Number page provides the product serial number for the drive. Table 108: Unit Serial Number page (80h) Bit Byte 0 2 0 0 Page Length (08h) 3 4 : 11 108 6 5 4 3 Peripheral Qualifier Page Code (80h) 1 Table number 7 2 1 0 0 0 Peripheral Device Type 0 0 0 0 Product Serial Number Field definitions (listed alphabetically) Page Code Page 80h provides the product serial number for the disc drive. See bytes 4–8 (Product Serial Number field). 108 Page Length The length (in bytes) of the Unit Serial Number page. If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. 108 Peripheral Qualifier and Peripheral Device Type 00h 108 A direct-access device (magnetic disc) is connected to this logical unit. Product Serial Number Contains ASCII data. The least significant ASCII character of the serial number appears as the last byte of a successful data transfer. If the product serial number is not available, the disc drive returns ASCII spaces (20h) in this field. 174 Fibre Channel Interface Manual, Rev. D 12.6.3 Implemented Operating Definition page (81h) Table 109: Implemented Operating Definition page (81h) Bit Byte 0 2 0 0 Page Length (04h) 3 109 6 5 4 3 Peripheral Qualifier Page Code (81h) 1 Table number 7 2 1 0 0 0 Peripheral Device Type 0 0 0 0 4 0 Current Operating Definition 5 SAVIMP Default Operating Definition 6 SAVIMP Supported Operating Definition 7 SAVIMP Supported Operating Definition Field definitions (listed alphabetically) Current Operating Definition Returns the value of the present operating definition. The default operating definition field returns the value of the operating definition the disc drive uses when power is applied if no operating definition is saved. Note. 109 The FC-AL drive always returns a value of 03h in the current and default fields. 00h Use current operating definition. 01h SCSI X3.131-1986 operating definition. 03h SCSI-2 X3.131-199x operating definition. Default Operating Definition Returns the value of the default operating definition. 109 Page Code 81h 109 Page Length 04h 109 The length of the implemented operating definition data (in bytes). Peripheral Qualifier and Peripheral Device Type 00h 109 Defines the current operating definition, the default operating definition, and which operating definitions are implemented by the disc drive. A direct-access device (magnetic disc) is connected to this logical unit. SAVIMP (Save Implemented) For each operating definition there is an associated Save Implemented (SAVIMP) bit. A SAVIMP bit of zero indicates that the corresponding operating definition parameter cannot be saved. A SAVIMP bit of one indicates that the corresponding operating definition parameter can be saved. The disc drive saves the default operating definition and all supported operating definitions. 109 Supported Operating Definition The operating definition supported by this device. Fibre Channel Interface Manual, Rev. D 175 12.6.4 Device Identification page (83h) The device identification page provides the Node Name for the drive. Table 110: Device Identification page (83h) Bit Byte 0 7 6 1 Peripheral Qualifier Page Code (83h) 2 Reserved 3 Page Length (0Ch) 5 4 3 2 1 0 1 0 Peripheral Device Type Identification descriptor list 4 Identification descriptor : 15 Table number 110 Field definitions (listed alphabetically) Identification Descriptor Contains type information and a unique drive identification value. Table 111: Identification Descriptor Bit 7 6 5 4 0 0 0 0 0 1 0 0 0 0 3 2 Byte 2 3 Page Length (08h) 4 MSB Code Set Association 0 Identifier Type 0 : 0 0 LSB Association 00h 111 The Identifier field is associated with the addressed device. Code Set 01h 111 0 Identifier 11 111 0 The Identifier field contains binary values. Identifier The 64-bit Node Name of the drive. 111 Identifier Type 03h 111 The Identifier field contains a unique 64-bit Fibre Channel Name_Identifier. Page Length 08h 110 The length of the Identification Descriptor page. Page Code 83h 176 Provides the Node Name of the disc drive. Fibre Channel Interface Manual, Rev. D 110 Page Length The length (in bytes) of the Device Identification page. If the allocation length is too small to transfer all the page, the page length is not adjusted to reflect the truncation. 110 Peripheral Qualifier and Peripheral Device Type 00h A direct-access device (magnetic disc) is connected to this logical unit. Each identification descriptor contains information identifying the logical unit. If the logical unit is accessible through any other path, it returns the same identification. Table 112: Identification Descriptor structure Bit Byte 7 6 0 5 4 3 Reserved 1 Reserved 2 Reserved 3 Identifier Length (n - 3) 4 (MSB) 2 1 Code Set Association : Identifier Type Identifier (LSB) n Table number 112 0 Field definitions (listed alphabetically) Association This field specifies the entity that the Identifier field is associated with. 00h 112 Associated with the addressed physical or logical device. 01h Associated with the port that received the request. 02 - 03h Reserved. Code Set This field specifies the code set used for the identifier field. This field is an aid to software that displays the identifier field. 112 00h Reserved. 01h The Identifier field contains binary values. 02h The Identifier field contains ASCII graphic codes (i.e., code values 20h through 7Eh) 03 - 0Fh Reserved Identifier This field contains the identifier as described by the Identifier Type, Code Set, and Identifier Length fields. 112 Identifier Length This field specifies the length, in bytes, of the Identifier. Note. 112 If the command descriptor block’s allocation length is too small to transfer all of the identifier, the Identifier Length is not adjusted to reflect the truncation. Identifier Type This field specifies the format and assignment authority for the identifier. 00h No assignment authority was used and, consequently, there is no guarantee that the identifier is globally unique (the identifier is vendor-specific). 01h The first eight bytes of the Identifier field contain the Vendor ID. The organization associated with the Vendor ID is responsible for ensuring that the remainder of the Identifier field is unique. One recommended method Fibre Channel Interface Manual, Rev. D 177 of constructing the remainder of the Identifier field is to concatenate the Product Identification field from the standard Inquiry Data field and the product serial number field from the Unit Serial Number page. 02h The Identifier field contains an IEEE Extended Unique Identifier, 64-bit (EUI-64). In this case, the Identifier Length field is set to 8. Note that the IEEE guidelines for EUI-64 specify a method for unambiguously encapsulating an IEEE 48-bit identifier within an EUI-64. 04 - 0Fh Reserved. 178 Fibre Channel Interface Manual, Rev. D 12.6.5 Firmware Numbers page (C0h) Table 113: Bit Byte Firmware Numbers page (C0h) 7 6 0 Peripheral Qualifier 1 Page Code (C0h) 2 0 0 Page Length (20h) 3 5 4 3 2 1 0 0 0 Peripheral Device Type 0 0 0 0 4 Firmware Release Number : 11 12 Servo RAM Release Number : 19 20 Servo ROM Release Number : 27 28 Servo RAM Release Date in ASCII : 31 32 Servo ROM Release Date in ASCII : 35 Table number 113 Field definitions (listed alphabetically) Firmware Release Number Contain ASCII data. The least significant ASCII character of the drive firmware number appears as the last byte of a successful data transfer. 113 Page Code C0h 113 Page Length 20h 113 The length of the Firmware Numbers page (in bytes). Peripheral Qualifier and Peripheral Device Type 00h 113 Provides the firmware release numbers for the disc drive. A direct-access device (magnetic disc) is connected to this logical unit. Servo RAM Release Date in ASCII This field contains the servo RAM release data in ASCII format. 113 Servo RAM Release Number This field contains the servo RAM release number. 113 Servo ROM Release Date in ASCII This field contains the servo ROM release data in ASCII format. 113 Servo ROM Release Number This field contains the servo ROM release number. Fibre Channel Interface Manual, Rev. D 179 12.6.6 Date Code page (C1h) Table 114: Bit Byte 0 1 2 3 Table number 114 Date Code page (C1h) 7 6 5 4 3 Peripheral Qualifier Page Code (C1h) 0 0 Page Length (0Ch) 4 : 11 Product Date Code 12 : 19 Compile Date 2 1 0 0 0 Peripheral Device Type 0 0 0 0 Field definitions (listed alphabetically) Compile Date The field contains 8 ASCII bytes of data for a date of the form MMDDYYYY. 114 Page Code C1h 114 Page Length 0Ch 114 The length (in bytes) of the product date code. If the ALLOCATION LENGTH is too small to transfer all of the page, the page length shall not be adjusted to reflect the truncation. Peripheral Qualifier and Peripheral Device Type 00h 114 Provides the date code from the disc drive defect list. A direct-access device (magnetic disc) is connected to this logical unit. Product Date Code Contains ASCII data. The least significant ASCII character of the product date code appears as the last byte of a successful data transfer. If the product date code is not available, the drive returns ASCII spaces (20h) in this field. 180 Fibre Channel Interface Manual, Rev. D 12.6.7 Jumper Settings page (C2h) Table 115: Jumper Settings page (C2h) Bit Byte 0 2 0 0 Page Length (02h) 3 115 3 4 S2 5 Rsvd S1 2 1 0 Peripheral Device Type 0 0 0 0 0 0 Rsvd Rsvd Rsvd Rsvd Rsvd Rsvd Sel. ID Provides the status of the option selections at the disc drive connector. Page Length The length (in bytes) of the Jumper Settings page. Peripheral Qualifier and Peripheral Device Type 00h 115 4 Page Code 02h 115 5 Field definitions (listed alphabetically) C2h 115 6 Peripheral Qualifier Page Code (C2h) 1 Table number 7 A direct-access device (magnetic disc) is connected to this logical unit. Sel. ID (Select-ID) AL_PA Select-ID mapping is shown on the next page (see Table 116). 115 S2 (Start_2), S1 (Start_1) Motor spinup options: S2 S1 Function 0 0 Motor spins up at power on. 1 0 Remote motor spin up. A SCSI Start command is required to spin up the drive. 0 1 Delay motor spin up. 1 1 Note. Invalid selection or the drive is not completely plugged in. Also referred to as the “Un-Mated Case” option. If Enclosure Initiated ESI is supported in the backplane that the drive is plugged in to, the S2 and S1 values reported may reflect attempts by the enclosure to start an EI ESI transfer. Several reads separated by at least a second may better indicate what the value is for these lines that the drive uses to determine motor spinup functionality. See Section 10.5 for more information on Enclosure Initiated ESI. Fibre Channel Interface Manual, Rev. D 181 Table 116: AL_PA Select-ID mapping AL_PA (hex) Sel. ID (hex) AL_PA (hex) Sel. ID (hex) AL_PA (hex) Sel. ID (hex) EF 00 A3 2B 4D 56 E8 01 9F 2C 4C 57 E4 02 9E 2D 4B 58 E2 03 9D 2E 4A 59 E1 04 9B 2F 49 5A E0 05 98 30 47 5B DC 06 97 31 46 5C 182 DA 07 90 32 45 5D D9 08 8F 33 43 5E D6 09 88 34 3C 5F D5 0A 84 35 3A 60 D4 0B 82 36 39 61 D3 OC 81 37 36 62 D2 OD 80 38 35 63 D1 OE 7C 39 34 64 CE OF 7A 3A 33 65 CD 10 79 3B 32 66 CC 11 76 3C 31 67 CB 12 75 3D 2E 68 CA 13 74 3E 2D 69 C9 14 73 3F 2C 6A C7 15 72 40 2B 6B C6 16 71 41 2A 6C C5 17 6E 42 29 6D C3 18 6D 43 27 6E BC 19 6C 44 26 6F BA 1A 6B 45 25 70 B9 1B 6A 46 23 71 B6 1C 69 47 1F 72 B5 1D 67 48 1E 73 B4 1E 66 49 1D 74 B3 1F 65 4A 1B 75 B2 20 63 4B 18 76 B1 21 5C 4C 17 77 AE 22 5A 4D 10 78 AD 23 59 4E 0F 79 AC 24 56 4F 08 7A AB 25 55 50 04 7B AA 26 54 51 02 7C A9 27 53 52 01 7D A7 28 52 53 A6 29 51 54 A5 2A 4E 55 Fibre Channel Interface Manual, Rev. D 12.6.8 Device Behavior page (C3h) The Device Behavior page (VPD page C3h) is used by regression tests to determine what behavior should be expected from a particular firmware package. Table 117: Device Behavior page (C3h) Bit Byte 7 0 Table number 117 6 5 4 Peripheral Qualifier 3 2 1 0 Peripheral Device Type 1 Page Code (C3h) 2 Reserved 3 Page Length 4 Version Number 5 Behavior Code 6 Behavior Code Version Number 7 : 22 ASCII Model Number (16 bytes) 23 Maximum Interleave 24 Default Number of Cache Segments 25+ Feature flags and additional byte fields will go here but are undefined at this time. Field definitions (listed alphabetically) ASCII Model Number Identical to the Product Identification Number given in the standard Inquiry command data (see Table 105). 117 Behavior Code and Behavior Code Version Number Jointly assigned by the Firmware Engineering Managers of all SCSI design locations. 117 Default Number of Cache Segments Identical to the same parameter given in the Mode Caching page (see Table 152). 117 Feature flags and additional byte fields... These bytes are not yet defined. 117 Maximum Interleave The maximum value which the drive can support in the least significant byte of Interleave in the Format Unit command (see Table 96). The actual interleave which has been used during the last Format, providing it has not been changed by an intervening Mode Select command is reported in the Interleave bytes of the Format Device bytes of the Format Device page (see Table 149). 117 Page Code C3h 117 Page Length 32h 117 The length of the Device Behavior page (in bytes). Peripheral Qualifier and Peripheral Device Type 00h 117 Provides the behavior code information for the drive. A direct-access device (magnetic disc) is connected to this logical unit. Version Number A 1-byte short form notation for the 24-byte assignment in the Firmware Numbers page. Version Numbers are registered by engineering services. Fibre Channel Interface Manual, Rev. D 183 12.7 Lock-Unlock Cache (10) command 36h The Lock-Unlock Cache (10) command requests that the device server disallow or allow logical blocks within the specified range to be removed from the cache memory by the device server's cache replacement algorithm. Locked logical blocks may be written to the medium when modified, but a copy of the modified logical block shall remain in the cache memory. Multiple locks may be in effect from more than one application client. Locks from different application clients may overlap. An unlock of an overlapped area does not release the lock of another initiator. Table 118: Lock-Unlock Cache (10) command (4Ch) Bit Byte 7 6 5 4 3 2 1 0 Lock RelAdr Operation Code (36h) 0 1 Reserved 2 (MSB) 3 Logical Block Address 4 5 (LSB) Reserved 6 7 (MSB) Number of Blocks 8 (LSB) Control 9 Table number 118 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 118 118 Lock 0 All logical blocks in the specified range that are currently locked into the cache memory shall be unlocked, but may not be removed. 1 Any logical block in the specified range that is currently present in the cache memory shall be locked into cache memory. Only logical blocks that are already present in the cache memory are actually locked. Number of Blocks The number of contiguous logical blocks to be written. 0 118 Operation Code 4Ch 118 indicates that all remaining logical blocks on the block device shall be within the range. The operation code for the Lock-Unlock Cache (10) command. RelAdr (Relative Addressing) This function is not supported by drives described in this manual. 184 Fibre Channel Interface Manual, Rev. D 12.8 Lock-Unlock Cache (16) command 92h The Lock-Unlock Cache (16) command requests that the device server disallow or allow logical blocks within the specified range to be removed from the cache memory by the device server's cache replacement algorithm. Locked logical blocks may be written to the medium when modified, but a copy of the modified logical block shall remain in the cache memory. Multiple locks may be in effect from more than one application client. Locks from different application clients may overlap. An unlock of an overlapped area does not release the lock of another initiator. Table 119: Bit Byte Lock-Unlock Cache (16) command (92h) 7 6 5 4 3 2 1 0 Lock RelAdr Operation Code (92h) 0 1 Reserved 2 (MSB) 3 4 5 Logical Block Address 6 7 8 9 (LSB) 10 (MSB) 11 Number of Blocks 12 13 Table number 119 (LSB) 14 Reserved 15 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 119 119 Lock 0 All logical blocks in the specified range that are currently locked into the cache memory shall be unlocked, but may not be removed. 1 Any logical block in the specified range that is currently present in the cache memory shall be locked into cache memory. Only logical blocks that are already present in the cache memory are actually locked. Number of Blocks The number of contiguous logical blocks to be written. 0 indicates that all remaining logical blocks on the block device shall be within the range. Fibre Channel Interface Manual, Rev. D 185 119 Operation Code 92h 119 The operation code for the Lock-Unlock Cache (16) command. RelAdr (Relative Addressing) This function is not supported by drives described in this manual. 186 Fibre Channel Interface Manual, Rev. D 12.9 Log Select command 4Ch The Log Select command provides a means for an initiator to manage statistical information about the drive operation. This information is logged within the drive and can be sent to the initiator in response to a Log Sense command from the initiator. The Log Select command format is shown in Table 120. The initiator sends zero or more pages of control parameters in the Log Page format of Table 123. These log pages contain parameters that command the drive to change selected threshold, or cumulative values of any or all drive logs. The following tables in Section 12.9 apply for the Log Select command as indicators of functions that command the drive to perform or enable for performance, control parameter bits the drive sets/resets/saves, log counts that are kept, etc. For the Log Sense command, these tables apply as indicators of functions the drive reports back to the host that it is enabled to perform, control parameter bits that are set/reset/saved, log counts that are being kept, etc. Though the language of the descriptions is for the Log Select case, the application to the Log Sense case should also be considered. Section 12.10 describes the Log Sense command, but the tables of this section that apply are not repeated there. The drives represented by this Interface Manual do not support keeping independent sets of log parameters (one set for each initiator in the system). If at some point log parameters are changed (by a Log Select command) that affect initiators other than the initiator that sent the Log Select command, the drive generates a unit attention condition for those other initiators, but not for the one that issued the Log Select command. When the other initiators at a future time connect to the drive, the first command attempted would not execute and a check condition status would be issued by the drive. A Request Sense command would normally follow and a unit attention condition sense code be returned to these other initiators with an additional sense code of Log Parameters Changed (one by one as they connect to the drive). See Section 12.13.1, Unit Attention page. Table 120: Log Select command (4Ch) Bit 7 6 5 4 3 2 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 PCR SP Byte Reserved 2 PC 3 Reserved 4 Reserved 5 Reserved 6 Reserved 7 Reserved (MSB) Parameter List Length 8 (LSB) Control 9 Table number 120 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 120 PC (Page Control) This field defines the type of log parameter the initiator selects to change with the Log Select command. 00b 01b 10b 11b Log current threshold values Log current cumulative values Log default threshold values Log default cumulative values Fibre Channel Interface Manual, Rev. D 187 The drive only updates the cumulative values to reflect the number of events experienced by the drive, but the initiator can set the threshold or cumulative log (00 or 01) parameter values using the Log Select command with the PC field set as applicable. The drive sets the current log values to default values in response to a Log Select command with the parameter list length set to zero and the PC field set to the applicable value (10b or 11b). If an initiator attempts to change a current threshold value that is not available or not implemented for that log parameter, the drive terminates the Log Select command with a Check Condition status, the sense key set to Illegal Request and an additional sense code set to Invalid Field In Parameter List. The saving of current threshold parameters and the criteria for the current threshold being met are controlled by bits in the Parameter Control Byte (PCB) (byte 2 of each of the Log Parameter pages). 120 120 PCR (Parameter Code Reset) 1 And Parameter List Length value = 0—causes all implemented parameters to be set to the drive-defined default values (most likely zero). 1 And Parameter List Length value >0—causes the command to terminate with a Check Condition status. The sense key is set to Illegal Request and the additional sense code is set to Invalid Field in CDB. 0 The log parameters are not reset. Parameter List Length This specifies the length (in bytes) of the parameter list that is transferred from the initiator to the drive. 0 No pages are transferred. This condition is not considered an error. If the initiator sends page codes or parameter codes within the parameter list that are reserved or not implemented by the drive, the drive terminates the Log Select command with Check Condition status. The sense key is set to Illegal Request and the additional sense code set to Invalid Field In Parameter List. If a parameter list length results in the truncation of any log parameter, the drive terminates the command with Check Condition status. The sense key is set to Illegal Request and the additional sense code set to Invalid Field In CDB. The initiator may send none, one, or more data pages, each of which is in the format specified in Table 123 and which contain control information pertaining to the management and reporting of various drive log parameters. If multiple pages are sent out following the command CDB, they must be sent in ascending page code value order. Also, log parameters in each log page must be sent in log parameter code ascending order (see Table 123). The Page code (byte 0) specifies which log the page pertains to. The page code assignments are listed in Table 126. Initiator cannot send page zero (0). 120 SP (Save Parameters) 1 After performing the specified log select operation, the drive saves to nonvolatile memory all log select parameters identified as savable by the DS bit in the log parameter sections of the log page (see Tables 123 and 124). 0 Specifies that parameters are not saved immediately. Log parameters are also saved after each thermal calibration if the TSD bit in the Log Parameters page (see Table 124) is zero (0). It is not an error to set the SP bit to one and to set the DS bit of a log parameter to one. In this case, the parameter value for that log parameter is not saved. 188 Fibre Channel Interface Manual, Rev. D Table 121 summarizes the Log Select Command field settings used when updating the cumulative/threshold value settings and the resulting action that will occur based on these field settings. Table 121: Log Select Command field setting summary PCR PC Parameter List Length Resulting action 1 xx 0 All cumulative counter and threshold log page values will be set to “zero” on all log pages. 0 11 0 All cumulative counter log page values will be set to “zero” on all log pages. 0 10 0 All threshold log page values will be set to “zero” on all log pages. 0 01 nn The cumulative counter for a specific parameter code will be set to the stipulated value on a specified log page as found in the Log Parameter Page data. 0 00 nn The threshold for a specific parameter code will be set to the stipulated value on a specified log page as found in the Log Parameter Page data. The Log Select and Log Sense commands use the same log page format. See Section 12.10. Fibre Channel Interface Manual, Rev. D 189 12.10 Log Sense command 4Dh The Log Sense command provides a means for an initiator to retrieve statistical information maintained by the drive about the drive operation. It is a complementary command to the Log Select command. This information is stored in logs (counters) in the drive and is sent to the initiator as inbound data of the Log Sense command. The Log Sense command format that the initiator sends is shown in Table 122. The format of the data pages sent back by the drive is shown in Table 123. Table 122: Log Sense command (4Dh) Bit Byte 7 6 5 4 3 2 1 0 PPC SP Operation Code (4Dh) 0 1 0 2 0 0 PC 3 Reserved 4 Reserved 5 Reserved Page Code (MSB) Parameter Pointer 6 (LSB) 7 (MSB) Allocation Length 8 (LSB) Control 9 Table number 122 Field definitions (listed alphabetically) Allocation Length This field informs the drive of the amount of space available for returning log parameter data. If the allocation length is too small, the drive sends as much data as can fit in the allocation length. The initiator can retrieve the rest of the log page information by setting the parameter pointer to the last returned parameter code and reissuing the log sense command. This process may be repeated as necessary to retrieve all the available information. 122 Control See Control Bytes in Section 11.2.1.6. 122 Operation Code 4Dh 122 The operation code for the Log Sense command. Page Code The page of data requested by the command (see Table 126). If a page code is sent that is not implemented, the drive terminates the command with Check Condition status. The sense key is set to Illegal Request with the additional sense code set to Invalid Field In CDB. Table 127 (Page Code 00h) returns the list of log pages that the drive supports. This page is not defined for the Log Select command. 122 PC (Page Control) This field defines the type of log parameter the initiator selects to change with the Log Select command. 00b Log current threshold values 01b Log current cumulative values 10b Log default threshold values 11b Log default cumulative values 190 Fibre Channel Interface Manual, Rev. D The parameter values returned are from one of the following: • The specified parameter values in the log counters as of the last update (updated by Log Select command, Log Sense command or done automatically by the drive for cumulative values). • If saved values are available, the saved values are used after the last LIP reset. • If saved values are not available, the default values are used after the last LIP reset. 122 Parameter Pointer A parameter code (see Table 128) that specifies that log parameter data be returned to the initiator starting with the Parameter Pointer code and continuing to the maximum allocation length or to (and including) log parameter data of the maximum parameter code supported by the drive, whichever is less. If the value of the Parameter Pointer field is larger than the largest available parameter code that can be returned by the drive on the specified page, the drive terminates the command with a Check Condition status. The sense key is set to Illegal Request and the additional sense code is set to Invalid Field In CDB. 122 PPC (Parameter Pointer Control) 1 The drive returns a log page with only those log parameters that have changed since the last Log Select or Log Sense command. The drive returns log parameter codes according to (in ascending numerical order) the parameter code specified in the Parameter Pointer field (bytes 5 & 6). 0 All of the log parameter data requested from the drive, whether changed or not, is sent and it begins with the log specified by the parameter code given in the Parameter Pointer field and returns the number of bytes specified by the allocation length field, in ascending order of parameter codes starting at the parameter code given in the Parameter Pointer field. A PPC bit of zero and a Parameter Pointer field of zero causes all available log parameters for the specified log page to be returned to the initiator subject to the allocation length. 122 SP (Save Parameters) 0 The drive performs the specified Log Sense command and does not save any log parameters to nonvolatile memory. 1 The drive first saves parameters identified as savable (by the DS bit in Table 124) to a nonvolatile location, and then performs the rest of the Log Sense command. Table 123: Log Page format Bit 7 6 5 4 3 2 1 0 Byte 0 1 2 Reserved Page Code Reserved (MSB) Page Length (n–3) 3 (LSB) Log parameter structure(s) 4 to x+3 Log Parameter (First) (Length X bytes) . . . . . . n–Y Log Parameter (last) (Length Y bytes) Fibre Channel Interface Manual, Rev. D 191 Table number 123 Field definitions (listed alphabetically) Log Parameter Each Log Parameter structure begins with a four-byte parameter header followed by one or more bytes of parameter value data. Log Parameter structures are in the format given in Table 124. 123 Log Parameter Structures Most log pages contain one or more special data structures called Log Parameters. Log Parameters may be data counters that record a count of a particular event (or events) or list parameters (strings) that contain a description of a particular event. List parameters are not currently supported by the drives represented by this manual. 123 Page Code Valid page codes are listed in Table 126. 123 Page Length The total number of bytes of Log Parameter structures that follow these first four control block bytes. If the initiator sends a page length that results in the truncation of any parameter, the target terminates the command with Check Condition status. The sense key is set to Illegal Request with the additional sense code set to Invalid Field In Parameter List. Table 124: Log Parameter structure Bit 7 6 5 4 3 2 1 0 Byte 0 (MSB) Parameter Code 1 2 Table number 124 124 (LSB) DU DS 3 Parameter Length (n–3 bytes) 4 : n Parameter Value TSD ETC TMC LBIN LP Field definitions (listed alphabetically) DS (Disable Save) 0 The drive supports Log Select and Log Sense data saving for that log parameter. The drive saves the current cumulative and the current threshold parameter values in response to a Log Select or Log Sense command with a SP bit of one. 1 The drive does not support saving that log parameter in response to a Log Select or Log Sense command with a SP bit of one. DU (Disable Update) 0 The drive updates the log parameter value to reflect all events that should be logged by that parameter. 1 The drive does not update the log parameter value except in response to a Log Select command that specifies a new value for the parameter. For the Log Select command, this applies only to the cumulative log parameter values (indicated by 01 in the PC field of the Log Select and Log Sense command descriptor block). The DU flag is set to one when the current cumulative value of the parameter counter it controls reaches its maximum value (see Parameter Length definition for this table). Upon reaching this maximum value, the data counter does not wrap around and start over at zero. Incrementing of other counters within the same log pages ceases. Counters do not restart automatically if the overflowed counter is re-initialized. If the data counter reaches its maximum value during the execution of a command, the drive completes the command. Drive counter updates are performed in the background. This means a counter may overflow long after a command has completed, so the drive must treat this condition as a Unit Attention with the additional sense code set to Log Counter at max for all initiators if RLEC=1 (Report Log exception condition bit of the Control Mode Page 0Ah). 192 Fibre Channel Interface Manual, Rev. D Since the drive uses volatile memory to hold cumulative values, they will be lost when a power cycle occurs. Unless the initiator commands the drive to save them to nonvolatile memory using a Log Select or Log Sense command with the SP bit set to one. The DU bit is not defined for threshold values (indicated by the PC field of the Log Sense command descriptor block) nor for list parameters (indicated by the LP bit). The drive ignores the value of DU bits in a Log Select command applicable to threshold values or list parameters. 124 124 124 ETC (Enable Threshold Comparison) 1 A comparison to the threshold value is performed whenever the cumulative value is updated. 0 The comparison is not performed. The value of the ETC bit is the same for both the threshold and cumulative parameters. LBIN (List Binary) 0 The parameter list contains a string of ASCII characters. 1 The parameter list is in a binary format. LP (List Parameter) 0 The parameter is a data counter. 1 The parameter is a list parameter. This bit only has meaning for the Log Sense command Data In pages. Data counters are associated with one or more events. The data counter is updated whenever one of these events occurs by incrementing the counter value, provided the DU bit is zero. See the DU field description above. An LP bit of one indicates that the parameter is a list parameter. List parameters are not counters and thus the ETC and TMC fields are set to zero. A list parameter is a string of ASCII graphic codes (i.e., code values 20h through 73h). List parameters are not supported by the drive at this time. 124 Parameter Code The specific parameter that is being transferred with the Log Page. These codes are listed and explained in the individual page code descriptions following Table 128. Byte 2 is referred to as the Parameter Control byte. For a Log Select command these bits perform a control function, but on a Log Sense command they only report the drive settings of these bits in this same format on the data-in part of the Log Sense command. 124 Parameter Length This field specifies the length (in bytes) of the parameter that follows. If the initiator sends a parameter length value that results in the truncation of the parameter value, the drive terminates the command with a Check Condition status. The sense key is set to Illegal Request with the additional sense code set to Invalid Field In Parameter List. 124 Parameter Value This field uses one, two, four, or eight bytes to transmit an unsigned counter value. The initiator sends these counts to set the counter values in the drive. The initiator is responsible to issue a Log Sense command to learn the parameter length the target has selected. When any counter in a log page reaches its maximum value, the drive ceases incrementing all counters in that log page. If the RLEC bit of the Control Mode page is one, then the drive reports the exception condition as described in Disable Update definition for this table. Fibre Channel Interface Manual, Rev. D 193 124 TMC (Threshold Met Criteria) This field defines the basis for comparison of the cumulative and threshold values. See Table 125 for meanings of values in this field. The TMC field is only valid when the ETC bit is one. Table 125: Threshold Met Criteria Code Basis for Comparison 00b Notify of every update of cumulative value 01b* Cumulative value equal to threshold value 10b* Cumulative value not equal threshold value 11b* Cumulative value greater than threshold value * Comparison made at every update of cumulative value. If the ETC bit is one* and the result of the comparison is true, a unit attention condition is generated for all initiators. When reporting the unit attention condition the drive sets the sense key to Unit Attention, and the additional sense code to Threshold Condition Met. * The RLEC bit (Report Log Exception Condition) in Mode page 0AH (Table 153) must also be one. 124 TSD (Target Save Disable) 0 The drive saves frequently enough to insure statistical significance. The drive’s method is to save after each thermal calibration, which is once every ten minutes. 1 The drive does not use its save method. The page code assignments for the log pages are listed in Table 126. Detailed descriptions follow the table. Table 126: Log Page codes Description Section 37h Cache Statistics page 12.10.5 10h Device Self-Test Results page 12.10.4 3Dh Drive dump (contents are vendor unique) 03h Error Counter page (Read) 12.10.1 05h Error Counter page (Verify) 12.10.1 02h Error Counter page (Write) 12.10.1 3Eh Factory Log page 12.10.6 06h Non-medium Error page 12.10.2 00h Supported Log pages 12.10.1 0Dh Temperature page 12.10.3 Page Code 08h-0Ah Reserved 0Ch Reserved 11h - 2Fh Reserved 3Fh Reserved 30h - 3Eh 194 Vendor-specific (37h, 3Dh, and 3Eh are used above) Fibre Channel Interface Manual, Rev. D Table 127: Supported log pages Bit 7 6 5 4 3 2 1 0 Byte 0 Reserved 1 Reserved 2 (MSB) Page Code (00h) Page Length (n–3) 3 (LSB) 4 : n Table number 127 Field definitions (listed alphabetically) Page Code 00h 127 Supported Page List Supported log pages page code. Page Length The length (in bytes) of the Supported Log Pages page. If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. 127 Supported Page List A list of all log page codes implemented by the target in ascending order beginning with Page Code 00h. Fibre Channel Interface Manual, Rev. D 195 12.10.1 Error Counter pages, Write, Read, Read Reverse, and Verify (code 02, 03, 04, and 05h) Table 128 defines the parameter code field for the write, read, read reverse, and verify error counter pages. Table 128: Write, Read, Read Reverse, and Verify Error Parameter Code field Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 Byte 0 1 Table number 128 Parameter Code Field definitions (listed alphabetically) Parameter Code Parameter codes 00h through 06h specify six counters each for write, read, read reverse, and verify errors (24 counters). A description of the type (category of error) counters specified by codes 00h through 06h are described following. 0000h Error Corrected Without Substantial Delay. An error correction was applied to get perfect data (like ECC onthe-fly). “Without substantial delay” means the correction did not postpone reading of later sectors (e.g., a revolution was not lost). The counter is incremented once for each logical block that requires correction. Two different blocks corrected during the same command are counted as two events. 0001h Error Corrected With Possible Delay. An error code or algorithm (e.g., ECC, checksum) is applied in order to get perfect data with substantial delay. “With possible delay” means the correction took longer than a sector time so that reading/writing of subsequent sectors was delayed (e.g, a lost revolution). The counter is incremented once for each logical block that requires correction. A block with a double error that is correctable counts as one event and two different blocks corrected during the same command count as two events. 0002h Total (e.g., re-writes or re-reads). This parameter code specifies the counter counting the number of errors that are corrected by applying retries. This counts errors recovered, not the number of retries. If five retries were required to recover one block of data, the counter increments by one, not five. The counter is incremented once for each logical block that is recovered using retries. If an error is not recoverable while applying retries and is recovered by ECC, it isn’t counted by this counter; it will be counted by the counter specified by parameter code 01h – Error Corrected With Possible Delay. 0003h Total Errors Corrected. This counter counts the total of all correctable errors encountered. It is the sum of the counters specified by parameter codes 01h and 02h. There is no double counting of data errors among these two counters and all correctable data errors are counted in one of these counters. 0004h Total Times Correction Algorithm Processed. This parameter code specifies the counter that counts the total number of retries or the number of times the retry algorithm is invoked. If after five attempts a counter 02h type error is recovered, then five is added to this counter. If three retries are required to get a stable ECC syndrome before a counter 01h type error is corrected, then those three retries are also counted here. The number of retries applied to unsuccessfully recover an error (counter 06h type error) are also counted by this counter. 0005h Total Bytes Processed. This parameter code specifies the counter that counts the total number of bytes either successfully or unsuccessfully read, written, or verified (depending on the log page) from the drive. If a transfer terminates early because of an unrecoverable error, only the logical blocks up to and including the one with the unrecoverable error are counted. 0006h Total Uncorrected Errors. This parameter code specifies the counter that contains the total number of blocks for which an unrecoverable data error has occurred. 196 Fibre Channel Interface Manual, Rev. D 12.10.2 Non-Medium Error page (code 06h) Log page code 06h specifies non-medium errors. Table 129: Non-Medium Error page (code 06h) Bit Byte Table number 129 0 Page Code (06h) 1 Parameter Code 6 5 4 3 2 1 0 Field definitions (listed alphabetically) Page Code 06h 129 7 Non-Medium Error page code. Parameter Code 0000h The number of recoverable error events other than write, read, or verify errors (0000h is the only code supported for this page). Fibre Channel Interface Manual, Rev. D 197 12.10.3 Temperature page (code 0Dh) Log page code 0Dh provides the temperature of the drive and Fibre Channel link error and initialization counts. Table 130: Temperature log page (code 0Dh) Table number 130 Bit Byte 7 6 0 PS Reserved 3 2 1 0 2 1 0 0 1 1 Page Code (0Dh) Reserved 2 3 Page Length (92h) Field definitions (listed alphabetically) Page Code Temperature page. Page Length 92h 130 4 1 06h 130 5 Length of the page. PS (Parameter Savable) 1 Page contains savable parameters. 0 None of the parameters within the page are savable. Table 131: Temperature Parameter Format Bit Byte 7 6 5 0 1 2 Table number 131 4 3 Parameter Code 0 0 0 0 0 3 02h 4 5 Temperature Data Field definitions (listed alphabetically) Parameter Code 0000h Temperature data. The temperature sensed in the device at the time the Log Sense command is performed is returned in the Parameter field defined by this parameter code. The one-byte binary value specified the temperature of the device in degrees Celsius. Temperatures equal to or less than zero degrees Celsius is indicated by a value of zero. If the device server is unable to detect a valid temperature because of a sensor failure or other condition, the value returned is FFh. The temperature should be reported with an accuracy of plus or minus three Celsius degrees while the device is operating at a steady state within the environmental limits specified for the drive. No comparison is performed between the temperature value specified in parameter 0000h and the reference temperature specified in parameter 0001h. 0001h 198 Reference temperature data. A reference temperature for the drive may optionally be provided by the drive using parameter code 0001h. If no reference temperature is provided, the parameter may not be provided in the log page or alternatively, the reference temperature value may be set to the value of FFh. The one-byte binary value reflects the maximum reported sensor temperature in degrees Celsius at which the drive will operate continuously without degrading the drive’s operation or reliability outside the limits specified by the manufacturer of the drive. The reference temperature may change for vendor-specific reasons. Fibre Channel Interface Manual, Rev. D Table 132: Command Initiate Parameter Format Bit Byte 7 6 5 0 1 0 3 02h 4 Reserved 1 1 5 132 3 2 1 0 1 1 Parameter Code (80FFh) 2 Table number 4 0 00 Reserved CIP Field definitions (listed alphabetically) Parameter Code 80FFh Command Initiate Port Code. This field identifies the port on the drive that receives the Log Sense command and requested transfer of this page. 0 = Port A. 1 = Port B. Table 133: Fibre Channel Link Format Bit Byte 7 6 5 0 1 2 Table number 133 4 3 2 1 0 1 1 Parameter Code 0 1 1 0 00 3 04h 4 5 6 7 Counter Data Field definitions (listed alphabetically) Parameter Code Code Length Description 8100h 4 bytes Link Failure Count, Port A. Count of the number of Loss of Sync conditions that have occurred on Port A which exceeded 100 msecs in duration. 8101h 4 bytes Loss of Synchronization Count, Port A. Count of the number of short (< 100 msecs) Loss of Synchronization conditions that have occurred on Port A. 8104h 4 bytes Invalid Transmission Word Count, Port A. Count of the number of invalid transmission words/Running Disparity errors that have been detected on Port A. 8105h 4 bytes Invalid CRC Count, Port A. Count of the number of write data frames that have been received with invalid CRCs on port A. These errors are only detected when this drive is the target of the data transfer. 8106h 4 bytes LIP F7 Initiated Count, Port A. Count of the number of LIP F7s (Initialize LIP) which the drive has initiated on Port A. 8107h 4 bytes LIP F7 Received Count, Port A. Count of the number of LIP F7s (Initialize LIP) which the drive has received on Port A. 8108h 4 bytes LIP F8 Initiated Count, Port A. Count of the number of LIP F8s (Failure LIP) which the drive has initiated on Port A. Fibre Channel Interface Manual, Rev. D 199 8109h 4 bytes LIP F8 Received Count, Port A. Count of the number of LIP F8s (Failure LIP) which the drive has received on Port A. 8110h 4 bytes Link Failure Count, Port B. Count of the number of Loss of Sync conditions that have occurred on Port B which exceeded 100 msecs in duration. 8111h 4 bytes Loss of Synchronization Count, Port B. Count of the number of short (< 100 msecs) Loss of Synchronization conditions that have occurred on Port B. 8114h 4 bytes Invalid Transmission Word Count, Port B. Count of the number of invalid transmission words/Running Disparity errors that have been detected on Port B. 8115h 4 bytes Invalid CRC Count, Port B. Count of the number of write data frames that have been received with invalid CRCs on port B. These errors are only detected when this drive is the target of the data transfer. 8116h 4 bytes LIP F7 Initiated Count, Port B. Count of the number of LIP F7s (Initialize LIP) which the drive has initiated on Port B. 8117h 4 bytes LIP F7 Received Count, Port B. Count of the number of LIP F7s (Initialize LIP) which the drive has received on Port B. 8118h 4 bytes LIP F8 Initiated Count, Port B. Count of the number of LIP F8s (Failure LIP) which the drive has initiated on Port B. 8119h 4 bytes LIP F8 Received Count, Port B. Count of the number of LIP F8s (Failure LIP) which the drive has received on Port B. 200 Fibre Channel Interface Manual, Rev. D 12.10.4 Device Self-Test Results Log page (code 10h) This page provides the results from the 20 most recent device self-tests. Results from the most recent test or the test currently in progress is reported in the first self-test log parameter; results from the second most recent self-test is reported in the second self-test log structure parameter and so on. If fewer than 20 device self-tests have occurred, the unused entries are zero filled. The following table describes the Device Self-Test Results Log page returned by the device server upon request by the application client. Table 134: Self-Test Results Log page format Bit 7 6 5 4 3 2 1 0 Byte 0 Page Code (10h) 1 Reserved 2 (MSB) Page Length (0190h) 3 (LSB) Self-Test Results Log Parameters Table number 134 4 . . . 23 First Self-Test Results Log Parameter (Most Recent) . . . (2nd through 19th Self-Test Results Log Parameters) 384 . . . 403 20th Self-Test Results Log Parameter (Least Recent) Field definitions (listed alphabetically) Page Code 10h 134 Self-Test Results Log page code. Page Length 0190h The length (in bytes) of the parameter list that is transferred from the device server to the application client. Fibre Channel Interface Manual, Rev. D 201 134 Self-Test Results Log Parameter fields See Table 135 below. Table 135: Device Self-Test Results Log parameter data format Bit 7 6 5 4 3 2 1 0 Byte 0 (MSB) Parameter Code (0001h to 0014h) (LSB) 1 2 0 DU 0 DS 0 TSD 0 ETC TMC 1 LBIN 1 LP Parameter Control Bits 3 Parameter Length (10h) 4 Self-Test Code 5 Self-Test Segment Number 6 Reserved Self-Test Results Value (MSB) Timestamp 7 8 (LSB) (MSB) . . . LBA of First Failure 15 (LSB) 16 Table number 135 Reserved 17 Additional Sense Code 18 Additional Sense Code Qualifier 19 Vendor Specific Sense Key Field definitions (listed alphabetically) Additional Sense Code This field may contain a hierarchy of additional information relating to error or exception conditions that occurred during the self-test represented in the same format used by the sense data (see Request Sense command). 135 Additional Sense Code Qualifier This field may contain a hierarchy of additional information relating to error or exception conditions that occurred during the self-test represented in the same format used by the sense data (see Request Sense command). 135 LBA of First Failure This field contains information that helps you locate the failure on the media. If the logical unit implements logical blocks, the content of this field is the first logical block address where a self-test error occurred. This implies nothing about the quality of any other logical block on the logical unit, since the testing during which the error occurred may not have been performed in a sequential manner. This value does not change (e.g., as the result of block reassignment). The content of this fields will be FFFFFFFFFFFFFFFFh if no errors occurred during the self-test or if the error that occurred is not related to an identifiable media address. 135 Parameter Code This field identifies the log parameter being transferred. The Parameter Code field for the results of the most recent self-test contains 0001h; the Parameter Code field for the results of the second most recent test contains 0002h, etc. 202 Fibre Channel Interface Manual, Rev. D 135 135 Parameter Control Bits DU 0 Value provided by device server DS 0 Device server supports saving of parameter TSD 0 Device server manages saving of parameter ETC 0 No threshold comparison is made on this value TMC xxx Ignored when ETC is 0 LBIN 1 The parameter is in binary format LP The parameter is a list parameter 1 Parameter Length 10h 135 This value is always 10h. Self-Test Code This field contains the value in the Self-Test Code field of the Send Diagnostics command that initiated this device self-test (see Send Diagnostics command). 135 135 Self-Test Results Value 00h The self-test routine completed without error. 01h The background self-test routine was aborted by the application client using a Send Diagnostics command with the Self-Test Code field set to 100b (Abort background self-test). 02h The self-test routine was aborted by an application client using a method other than a Send Diagnostics command with the Self-Test Code field set to 100b (e.g., by a task management function, by a reset, or by issuing an exception command). 03h An unknown error occurred while the device server was executing the self-test routine and the device server was unable to complete the self-test routine. 04h The self-test completed with a failure in a test segment, and the test segment that failed is not known. 05h The first segment of the self-test failed. 06h The second segment of the self-test failed. 07h Another segment of the self-test failed. 08-0Eh Reserved. 0Fh Self-test is in progress. Self-Test Segment Number This field identifies the number of the segment that failed during the self-test. 00h 135 The segment that failed cannot or need not be identified. Sense Key This field may contain a hierarchy of additional information relating to error or exception conditions that occurred during the self-test represented in the same format used by the sense data (see Request Sense command). 135 Timestamp This field contains the total accumulated power-on hours of the device server at the time the self-test operation was completed. If the test is still in progress, the content of this field is 0. If the power-on hours for the device server at the time the self-test operation was completed is greater than FFFFh, the content of this field is FFFFh. Fibre Channel Interface Manual, Rev. D 203 12.10.5 Cache Statistics page (code 37h) Log Page code 37h specifies Cache Statistics page. Table 136: Cache Statistics page Bit Byte 0 1 Table number 136 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 Parameter Code Field definitions (listed alphabetically) Parameter Code 00h The number of logical blocks that have been sent to an initiator. 01h The number of logical blocks that have been received from an initiator. 02h The number of logical blocks read from the cache memory that have been sent to an initiator. 03h The number of read and write commands that had data lengths equal or less than the current segment size. 04h The number of read and write commands that had data lengths greater than the current segment size. 204 Fibre Channel Interface Manual, Rev. D 12.10.6 Factory Log page (code 3Eh) Log Page code 3Eh specifies factory status parameters. Table 137: Factory Log page Bit Byte 0 1 Table number 136 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 Parameter Code Field definitions (listed alphabetically) Parameter Code 0000h Power-on Time. The number of drive power-on minutes. Currently, the Power-on Time parameter is the only parameter in this Log Page that is visible to OEM/customers. 0008h The time, in minutes, to the next scheduled interrupt for a S.M.A.R.T. measurement. Fibre Channel Interface Manual, Rev. D 205 12.11 Mode Select (6) command 15h The Mode Select command provides a means for the initiator to specify medium, logical unit, or peripheral device parameters to the disc drive. The drive also implements the Mode Sense command (see 12.13). Initiators should issue Mode Sense prior to Mode Select to determine supported pages, page lengths, and other parameters. The drive maintains a common set of mode parameters shared by all initiators. If an initiator sends a Mode Select command that changes any parameters, the drive generates a Unit Attention condition for all initiators except the one that issued the Mode Select command. The drive sets the additional sense code to Mode Parameters Changed. Table 138: Mode Select (6) command (15h) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 1 0 1 0 1 1 Table number 138 Reserved 2 Reserved 3 Reserved 4 Parameter List Length 5 Control PF Reserved SP Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 138 Parameter List Length The length (in bytes) of the Mode Select parameter list that is transferred during the Data Out phase. 0 138 138 No data will be transferred. This condition is not considered an error. PF (Page Format) 1 The data sent by the initiator after the Mode Select header and the block descriptors (if any) complies with the Page Format mode. 0 The data sent by the initiator after the Mode Select header and the block descriptors (if any) are vendor unique. The disc drive does not interpret the PF bit. It assumes the Page Format mode. SP (Save Pages) 1 The disc drive saves the savable pages. The format related parameters in the block descriptor, pages 3 and 4 are saved during a Format command as well as a Mode Select command with SP = 1. The disc drive must update the Current mode values with parameters included with this command, save the Current values of the savable parameters, and report Good status only after the save operation is completed. The saved parameters are not changed if an error is detected during the Mode Select command. 0 The saved parameter values are not changed. The Mode Select parameter list (Table 139) contains a four-byte header, followed by zero or one block descriptors, followed by the pages of Mode Select Parameters. Acceptable values for the Mode Select parameter list for the disc drive are shown in Table 139. 206 Fibre Channel Interface Manual, Rev. D The target terminates all the Mode Select commands with Check Condition status, sets the sense key to Illegal Request and sets the additional sense code to Invalid Field In Parameter List, and does not change any mode parameters for the following conditions: • If the Strict mode is enabled (see Table 146) and the initiator attempts to change any field that is not changeable by the host as reported by the target. In this case, no parameters are changed by this command. The target compares the parameters against the values as they were prior to this Mode Select command. (The host is not penalized by values not changeable by the host, which have a target “ripple change” as a result of this Mode Select). • If the initiator attempts to send an unsupported value or, a nonzero value to a reserved field in the Mode Select header, block descriptor, or any page header. • If an initiator attempts to send a page with a length not equal to the parameter length reported for that page by the Mode Sense command. • If the initiator attempts to send a value for a changeable parameter that is outside the range supported by the target and rounding is not implemented for that parameter (see rounding bit in Table 146). • If the initiator sends a page descriptor with an unsupported page code value and the Strict mode is enabled. (see Table 146). • If the initiator sends a value in the Number of Blocks field (see Table 139) that is greater than the maximum Number of Blocks (rounding is used if the maximum Number of Blocks might change). This is also an exception for FFFFFFFFh. If the initiator sends a value for a changeable parameter that is outside the range supported by the target and rounding is implemented for that parameter, the target will either: • round the parameter to an acceptable value and if Round is one, terminate the command, or • round the parameter to an acceptable value and if Round equals zero, terminate the command as if an acceptable value had been sent from the initiator. A target may alter any mode parameter in any mode page (even parameters reported as nonchangeable) as a result of changes to other mode parameters. . Fibre Channel Interface Manual, Rev. D 207 Table 139: Mode Select (6) parameter list Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reserved 1 0 0 0 0 Medium Type 2 0 0 0 0 Reserved Block Descriptor Length Either 00h or 08h 3 Block descriptor 0 0 0 0 0 Density Code 1 0 0 0 0 0 Number of Blocks (MSB) 2 0 0 0 0 0 Number of Blocks 3 0 0 0 0 0 Number of Blocks (LSB) 4 0 0 5 Block Length (MSB) 6 Block Length 7 Block Length (LSB) 0 0 0 Parameter information 0–n Table number 139 Mode Select Page Headers And Their Parameters (see tables 140 and 145) Field definitions (listed alphabetically) Block Descriptor Length The length (in bytes) of the Block Descriptor. It is equal to the number of bytes in the Block Descriptor (either 0 or 8) and does not include the page headers and mode parameters. 0 139 No block descriptors are included in the parameter list. This condition is not considered an error. Block Length The length (in number of bytes) for each logical block described by the Block Descriptor. Set to desired sector size before a Format. Valid values are even numbered sizes from 180 (B4h) to 4,096 (1000h). Not all drives can format down to 180; some have a minimum of 256. A typical block length value is 512 (200h). 139 Density Code Must be 00h to define the default density of the medium. Note. For drives with capacities over 5 Gbytes, this byte is used for the Most Significant Byte (MSB) of the Number of Blocks field. 139 Medium Type 00h 208 Define the default type direct access device. Fibre Channel Interface Manual, Rev. D 139 Mode Select Page Headers And Their Parameters See Mode Sense command (see Section 12.13) for detailed descriptions. 139 Number of Blocks This field contains the number of accessible logical blocks on the logical unit. The maximum Number of Blocks depends on the Block Length in the Block Descriptor, the Format parameters, and the Rigid Disc Drive Geometry parameters. A drive not having the capacity programming feature will ignore the Number of Blocks field and will always have the maximum Number of Blocks. Drives that have the capacity programming feature set the Number of Blocks to the maximum value if the Number of Blocks field contains FFFFFFFFh. The Number of blocks field is taken to be zero if the Block Descriptor is omitted from the Parameter List. If the Number of Blocks field contains zero, the capacity of the drive will not change, unless the maximum Number of blocks change (due to changed Block Length, etc.) If the maximum Number of Blocks change, a zero in the Number of Blocks field is processed as FFFFFFFFh. If the value in the Number of Blocks field is not greater than the maximum, the drive will set its capacity to the value in the Number of Blocks field. A change in the Number of Blocks will not cause the Format Corrupt condition. Note. For drives with capacities over 5 Gbytes, the Density Code field byte is used for the Most Significant Byte (MSB) of the Number of Blocks field. The rest of the Mode Select parameters are organized into pages that group the parameters by function. The parameter definitions are the same as those described in the Mode Sense command (Section 12.13) and are not repeated here. Table 140: Mode Select page descriptor header Bit 7 6 0 0 5 4 3 2 1 0 Byte 0 1 2–n Page Code Page Length Mode Parameters Each page of mode parameters begins with a two-byte Page Descriptor header. The Page Code identifies the page of mode parameters that is being transferred (see Table 145). The Page Length indicates the number of additional bytes of mode parameters contained in this page. The number of additional bytes sent must always match the Page Length value. The disc drive only verifies Mode Select data that is defined as changeable by the drive. The various disc drives support the following page codes. Note. See individual drive’s Product Manual, Volume 1, SCSI Interface commands supported section for a table showing the mode pages that a particular drive implements. The table shows the default parameters for pages that are implemented, and shows which mode parameters are changeable by that drive model. The detailed information can be obtained by issuing the Mode Sense command requesting changeable values. Note. There may be implicit associations between parameters defined in the pages and block descriptors. The block length affects the optimum values (the values that achieve best performance) for the sectors per track, bytes per physical sector, track skew factor, and cylinder skew factor fields in the format parameters page. In this case, the drive may change parameters not explicitly sent with the Mode Select command. A subsequent Mode Sense command would provide information on these changes. Fibre Channel Interface Manual, Rev. D 209 12.12 Mode Select (10) command 55h The Mode Select (10) command provides a means for the initiator to send a list of drive operating mode parameters to the drive. Table 141: Mode Select (10) command (55h) Bit 7 6 5 4 3 2 1 0 0 1 0 1 0 1 0 1 Byte 0 1 Reserved 2 Reserved 3 Reserved 4 Reserved 5 Reserved 6 Reserved 7 PF Reserved SP (MSB) Parameter List Length 8 9 (LSB) Control See the Mode Select (6) command (Section 12.11) for a description of the fields in this command. Initiators should issue Mode Sense prior to Mode Select to determine supported pages, page lengths, and other parameters. 210 Fibre Channel Interface Manual, Rev. D 12.13 Mode Sense (6) command 1Ah The Mode Sense command provides a means for the disc drive to report its medium, logical unit, or peripheral device parameters to the initiator. It is a command complementary to the Mode Select command. Table 142: Mode Sense command (1Ah) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 DBD Reserved 2 PCF 3 Table number 142 0 4 Allocation Length 5 Control Page Code 0 0 0 0 Field definitions (listed alphabetically) Allocation Length The number of bytes that the initiator has allocated for returned Mode Sense data. Any value other than zero indicates the maximum number of bytes transferred. 0 No Mode Sense data is transferred. This condition is not considered an error. The disc drive terminates the data when allocation length bytes have been transferred or when all available Mode Sense data has been transferred to the initiator, whichever is less. 142 Control See Control Bytes in Section 11.2.1.6. 142 142 DBD (Disable Block Descriptors) 0 The drive may return zero or more block descriptors in the returned Mode Sense data, at the drive’s discretion. Seagate FC-AL products return one block descriptor if the DBD bit is zero. 1 The drive does not return any block descriptors in the returned Mode Sense data. The Block Descriptor Length field of the Mode Sense header contains 00h to indicate a block descriptor length of zero. Page Code This field allows the initiator to select one or all of the pages of Mode parameters supported by the target. Page codes that may be supported by the disc drive are summarized in Table 145 on page 215 (also see the individual drive’s Product Manual, Volume 1). 142 PCF (Page Control Field) The content of mode parameter bytes is determined by the value of this field. The disc drive returns the same Page Length for each supported page regardless of the value of PCF. The block descriptor contains its normal values regardless of the value of the PCF. Unsupported fields or bits within a page are returned as zeros for all PCF values. PCF is defined below. Bit 7 Bit 6 Page control description 0 0 Return Current values. The Current values are the values currently being used by the disc drive to control its operation. After a Power On Reset, a hard Reset, or a Bus Device Reset message the Current values are equal to the Saved values (if Saved values can be retrieved) or the Default values (if Saved values cannot be retrieved). The Current value of a parameter is updated by a Mode Select command if the Mode Select command ends with Good status returned. 0 1 Return Changeable values. The changeable values of any page is a mask that indicates the parameters that are changed via a Mode Select command and the parameters that are not. Each returned parameter byte contains ones where a field or bit may be changed and zeros where a field or bit may not be changed. Fibre Channel Interface Manual, Rev. D 211 1 0 Return Default values. The Default values are the values to which the disc drive sets the Current values after a reset condition unless valid Saved values are available. 1 1 Return Saved values. The saved values are the values the disc drive stores in nonvolatile memory. The Saved values of any changeable parameter can be set to new values via a Mode Select command with the SMP bit set to 1. For nonchangeable parameters, the Default value is used. 212 Fibre Channel Interface Manual, Rev. D Table 143: Mode Sense (6) parameter list Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Sense Data Length 0 1 0 0 Reserved 2 0 0 WP DPO-FUA Reserved 3 0 0 Reserved 0 0 0 Block Descriptor Length (8 decimal) Block descriptor data 0 0 0 0 0 0 Number of Blocks (MSB) 1 0 0 0 0 0 Number of Blocks 2 0 0 0 0 0 Number of Blocks 3 0 0 0 0 0 Number of Blocks (LSB) 4 0 0 0 0 0 Reserved 5 Block Length (MSB) 6 Block Length 7 Block Length (LSB) Parameter information 0–n Table number 143 Mode Sense Page Headers and Their Parameters Field definitions (listed alphabetically) Block Descriptor Length The length (in bytes) of the Block Descriptor. It is equal to the number of bytes in the Block Descriptor (8) and does not include the page headers and mode parameters, if any. The disc drive sends one Block Descriptor. Each Block Descriptor specifies the medium characteristics for all or part of a logical unit. Each Block Descriptor contains a Density Code, a Number of Blocks, and a Block Length. 143 Block Length As defined after a format function, specifies the length (in bytes) of each logical block described by the Block Descriptor. Default is 512 if no Mode Select command is received before the Format command. The disc drive may be formatted from 180 to 4,096 bytes per sector in multiples of four bytes. 143 DPO-FUA (Disable Page Out–Force Unit Access) 0 When used with the Mode Sense command, the target does not contain a cache memory or does not support the DPO and FUA bits. 1 The target supports the DPO and FUA bits. Fibre Channel Interface Manual, Rev. D 213 143 Mode Sense Page Headers and Their Parameters See Table 144. 143 Number of Blocks The number of logical blocks of the medium that meets the Block Length in the Block Descriptor. 0 143 All of the remaining logical blocks of the logical unit have the medium characteristics specified by the Block Descriptor. Sense Data Length The length (in bytes) of the following Mode Sense data that is available to be transferred to the initiator. The Sense Data Length does not include itself. 143 WP (Write Protect) 0 The medium is write enabled. 1 The medium is write protected. Mode Sense page descriptor header Table 144: Mode Sense page descriptor header Bit Byte 0 PS 0 5 4 3 2 1 0 Page Code Mode Parameters 2–n 144 6 Page Length 1 Table number 7 Field definitions (listed alphabetically) Mode Parameters The contents of the mode pages being transferred. The number of bytes is indicated in the Page Length field. 144 Page Code Each page of mode parameters (for the Mode Sense command) begins with a two-byte Page Descriptor Header. The Page Code identifies the page of mode parameters that is being transferred (see Table 145). The parameter bit values are left blank herein, because they may be different for each drive model. Note. See the individual drive’s Product Manual, Volume 1, for a table giving the Mode Sense parameter values that are applicable to the disc drive model of interest. The tables in Volume 1 also show which parameters are changeable in the drive model of interest and which are not. Multiple pages of mode parameters may be transferred in one Mode Sense Data In phase (using Page Code 3Fh). If a nonsupported page code is requested by the Initiator, the disc drive terminates the command with Check Condition status, sets the sense key to 05, Illegal Request, and sets the additional sense code to 24, Invalid Field In Parameter List. 214 Fibre Channel Interface Manual, Rev. D Table 145: Mode sense page code section reference Page description Reference table 00h Unit Attention page 146 (page 216) 01h Error Recovery 147 (page 218) 02h Disconnect/Reconnect Control 148 (page 221) 03h Format Parameters 149 (page 223) 04h Rigid Disc Drive Geometry 150 (page 226) 07h Verify Error Recovery page 151 (page 228) 08h Caching page 152 (page 230) 0Ah Control Mode page 153 (page 233) 0Ch Notch and Partition page 154 (page 235) 10h XOR Control Mode page 155 (page 237) 19h Fibre Channel Interface Control page 156 (page 239) 1Ah Power Condition page 157 (page 241) 1Ch Informational Exceptions Control page 158 (page 243) Page code 144 Page Length The length of the mode parameters that follow (in bytes). If the initiator does not set this value to the value that is returned for the page by the Mode Sense command, the drive terminates the command with Check Condition status. The sense key is set to Illegal Request with the additional sense code set to Invalid Field in Parameter List. The drive is permitted to implement a mode page that is less than the full page length defined by this specification, provided no field is truncated and the page length field correctly specifies the actual length implemented. If the Strict bit equals zero and if the page length specified by the initiator is shorter than the actual page length, then the parameters are transferred and the command ends with Good status if no other items cause the command to be rejected. Caution: Data integrity may be adversely affected if an initiator uses this forgiving option without analyzing the impact of the truncation. See the individual page code descriptions for specific page lengths. 144 PS (Parameter Savable) 1 Page contains savable parameters. 0 None of the parameters within the page are savable. Since the parameters within pages 3 and 4 are always saved during Format commands (but not by a Mode Select command with the SMP bit set to 1), these pages return a 1 for the PS bit. Fibre Channel Interface Manual, Rev. D 215 12.13.1 Unit Attention page (00h) The Unit Attention page is the last page reported by the drive. See your individual drive’s Product Manual, Volume 1, Mode Sense Data section, for a table showing codes that indicate which of these bits are changeable by the host using the Mode Select command. Table 146: Unit Attention page (00h) Bit Byte 0 7 6 5 4 3 2 1 0 PS 0 0 0 0 0 0 0 Strict SCSI-2 JIT1 JIT0 Page Code (00h) Page Length 1 2 0 0 PM Default IL Reserved Default Self Seek 4 146 146 Rnd Reserved 3 Table number Unit Attn Reserved 5 Reserved 6 Reserved 7 Reserved Reserved JIT3 JIT2 Field definitions (listed alphabetically) IL (Inquiry Length) 1 The standard Inquiry data available to a host is limited to the 36 bytes required by the SCSI-2 specification. 0 148 bytes of standard Inquiry data are available. The Additional Length field in byte 4 of the Inquiry data is updated to reflect the actual number of additional bytes available. JIT (Just In Time) These bits allow you to enable and disable certain seek speeds. JIT0 represents the fastest seek type used by the drive, JIT1 represents the second fastest, JIT2 represents the third fastest, and JIT3 represents the slowest seek type. You can use these bits to reduce acoustics by disabling the fastest seeks. This can also reduce power consumption (from seek activity). These JIT settings only affect user read and write operations. Background drive operations and user seek commands will always use the fastest seek type. 1 The drive is allowed to use this seek type in its seek speed algorithm. 0 The drive is not allowed to use this seek type in its seek speed algorithm. Note. 146 Page Code 00h 146 If all JIT bits are set to zero, the drive enables JIT0 only. Unit Attention page code. Page Length 02h or 06h 146 The length of the Unit Attention page (in bytes). PM (Performance Mode) This bit is used to control the drive’s cache management algorithm to allow best performance in different types of systems. It is the initiator’s responsibility to determine which setting is best for that system. 1 The number of cache segments is fixed to the value set in mode page 8. 0 The drive will optimize the number of segments depending on the command activity observed by the drive. The number of segments value (in mode page 8) is ignored. 216 Fibre Channel Interface Manual, Rev. D 146 PS (Parameter Savable) This bit is only used with the Mode Sense command. This bit is not used with the Mode Select command. 1 146 146 The drive is capable of saving the page in a nonvolatile vendor-specific location. Rnd (Round) 1 The drive treats and reports rounded parameters as described in Section 11.6. 0 The drive rounds the parameter and handles command completion reporting as if the parameter had not been rounded. SCSI-2 1 The following SCSI-3 features are changed from their SCSI-3 definition to the SCSI-2 definition: Control Mode Page (0Ah) Length from 0Ah to 06h. Caching Page (08h) Length from 12h to 0Ah. 0 146 146 146 The SCSI-3 features remain as specified in other portions of this specification. Self Seek 1 The drive will enter self seek mode for testing purposes. Such testing could include, but is not limited to, power dissipation and acoustics. While in this mode, the drive will accept SCSI commands and will process them in between the self seek operations, including a mode select to turn this bit back off. As such, this bit should be off for normal drive operations. 0 The drive will not self seek; normal operating mode. Strict 1 The drive checks for Initiator attempts to change unchangeable parameters. If the drive detects an attempt it rejects the command in the standard way, i.e., Check Condition status from drive, Request Sense from the Initiator, Illegal Request sense key (5h) back from the drive. 0 The drive ignores the values of the unchangeable parameters in a Mode Select command. The drive does not reject the command trying to change unchangeable parameters. Unit Attn (Unit Attention) 1 Unit Attention is logged in sense only; no Check Condition status is presented following any reset. 0 Check Condition is presented for all affected Initiators following a reset until Request Sense is issued by each Initiator (as per current operation). Note. Byte 3 is reserved for future compatibility with Seagate host adapters. Though presently may be changeable (see S2 field definition), this byte does not control anything unless the individual drive’s Product Manual indicates that it does and defines its use in the Mode Sense Data section. Fibre Channel Interface Manual, Rev. D 217 12.13.2 Error Recovery page (01h) The disc drive Error Recovery page implementation is defined in Table 147. This table summarizes the function and default for each byte/bit. See individual drive’s Product Manual, Volume 1, section showing changeable values. A value of zero (0) means this bit function is not directly changeable by an initiator; a value of 1 means the bit function is directly changeable by an initiator (see Mode Select command). Table 147: Error Recovery page (01h) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 DTE DCR Page descriptor header 0 1 0 0 0 0 PS Page Code (01h) Page Length (0Ah bytes) 1 Error recovery parameters 2 Default AWRE ARRE 3 Default Read Retry Count 4 Default Correction Span (bits) 5 Default Head Offset Count 6 Default Data Strobe Offset Count 7 Default Reserved 8 Default Write Retry Count 9 Default Reserved 10 (MSB) TB RC EER Recovery Time Limit 11 Table number 147 147 PER (LSB) Field definitions (listed alphabetically) ARRE (Automatic Read Reallocation of defective data blocks Enabled) 1 Allows the disc drive to automatically reallocate bad blocks detected during read operations. Automatic reallocation is performed only if the drive successfully recovers the data and is able to place it in the reallocated block. 0 The disc drive will not perform automatic reallocation but will create Check Condition status with sense key of Medium Error instead. AWRE (Automatic Write Reallocation of defective data blocks Enabled) 1 Allows the disc drive to automatically reallocate bad blocks detected during write operations. The drive performs the automatic write reallocation only if the drive has the valid data (e.g., original data in the buffer or recovered from the medium). The valid data is placed in the reallocated block. This function doesn’t apply to the Format Unit command. 0 The disc drive will not perform automatic reallocation but will create Check Condition status with sense key of Medium Error instead. 218 Fibre Channel Interface Manual, Rev. D 147 Correction Span The size of the largest read data error (in bits) which ECC correction can correct. If errors longer than or equal to 255 (FFh) bits can be corrected, 255 (FFh) shall be reported in this field. 147 Data Strobe Offset Count 0 147 147 Zero is the default value and is not changeable. This feature is not programmable by the initiator. Data Strobe Offsets are performed as part of the disc drive’s retry algorithms. DCR (Disable Correction) 1 ECC correction will not be applied to the data even if correction is possible. 0 ECC correction will be applied if correction is possible. DTE (Disable Transfer on Error) The DTE bit is valid only when the PER bit is set to one. 147 147 1 The disc drive terminates data transfer even for recoverable errors (the drive will transfer the data for the recovered error before terminating the transfer). 0 Data transfer continues if recoverable errors are encountered. Recoverable errors are reported after all data has been transferred. EER (Enable Early Recovery) 1 The drive is allowed to apply maximum T level ECC correction on the fly before attempting other retry mechanisms. Seek error retries are not affected by this bit. Successful correction on the fly is not reported to the host as an error. 0 The drive applies ECC correction before other retry mechanisms, but performs only normal T level ECC corrections on the fly (normal T level is product specific, but is typically max T - 1). The DCR bit must also be set to 0. Successful correction on the fly is not reported to the host as an error. Head Offset Count 0 147 Page Code 01h 147 147 Error Recovery page code. Page Length 0Ah 147 Zero is the default value and is not changeable. This feature is not programmable by the initiator. Head offsets are performed as part of the disc drive’s retry algorithms. The length of the Error recovery page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PER (Post Error) 1 The disc drive reports Check Condition status and appropriate sense key for any recovered errors encountered. Reporting of unrecoverable errors has priority over reporting of recoverable errors. 0 Any errors recovered within the limits established by the other Error Recovery Flags are not reported. Any unrecoverable errors are reported. PS (Parameter Savable) This bit is not used with the Mode Select command. 1 147 Page 01h parameter data is savable. RC (Read Continuous) 1 Requests the disc drive to transfer the requested data length without adding delays (for retries or ECC correction) that may be required to ensure data integrity. The disc drive may send erroneous data in order to maintain the continuous flow of data. This bit overrides the DTE bit if it is set. RC bit also has priority over EER, DCR, and PER bits. 0 Recovery actions during data transfer are allowed. Note. This bit is set to zero (0) and is not changeable in most, if not all, of the drive models covered by this manual. See individual drive’s Product Manual, Volume 1, section showing changeable values. Fibre Channel Interface Manual, Rev. D 219 147 Read Retry Count The maximum number of times the disc drive attempts its read recovery algorithms. A Retry Count of zero inhibits non-ECC retries from being performed. 147 Recovery Time Limit The maximum number of milliseconds that is allowed for recovery time. A hex FFFF indicates that the Recovery Time Limit is unlimited. 147 147 TB (Transfer Block) 1 The data block that is not recovered will be transferred to the initiator. 0 The failing data block will not be transferred. Write Retry Count The maximum number of times that the target attempts its recovery algorithm during write operations. 220 Fibre Channel Interface Manual, Rev. D 12.13.3 Disconnect/Reconnect Control page (02h) The Disconnect/Reconnect Control page implementation is defined in Table 148. This table summarizes the function and defines the default values. See individual drive’s Product Manual, Volume 1, section showing changeable values. A value of zero (0) means this bit function is not directly changeable by an initiator; a value of 1 means the bit function is directly changeable by an initiator (see Mode Select command). Table 148: Disconnect/Reconnect Control page (02h) Bit Byte 7 6 5 4 3 2 1 0 0 1 0 Page descriptor header 0 1 0 0 0 PS 1 0 Page Code (02h) Page Length (0Eh) Disconnect/reconnect control parameters 2 Default Buffer Full Ratio 3 Default Buffer Empty Ratio 4 Default Bus Inactivity Limit (MSB) 5 Default Bus Inactivity Limit (LSB) 6,7 Default Disconnect Time Limit 8,9 Default Connect Time Limit 10,11 Default MSB Maximum Burst Size LSB 12 Default 13–15 Table number 148 EMDP 0 0 0 DImm DTDC Reserved Field definitions (listed alphabetically) Buffer Empty Ratio This number is the numerator of a fractional multiplier that has 256 (100h) as its denominator. This field indicates, on Write commands, how empty the disc drive’s buffer will be before attempting to arbitrate from control of the loop. The disc drive, rounds the requested ratio down to the nearest whole logical block. This value is changeable by an initiator. 148 Buffer Full Ratio This number is the numerator of a fractional multiplier that has 256 (100h) as its denominator. This field indicates, on Read commands, how full the disc drive’s buffer will be before attempting to arbitrate for control of the loop. The disc drive rounds the requested ratio up to the nearest whole logical block. This value is changeable by an initiator. Fibre Channel Interface Manual, Rev. D 221 The buffer full ratio is taken to be a percentage of the smaller of: the buffer size or the remaining transfer length. For example, if the buffer full ratio is 80h (128 Decimal) (indicating a 128/256 or 50% value), the transfer length of a read command is 20h blocks, and the buffer size is 30h blocks, the arbitration begins when 10h blocks (50% of the transfer length of 20h blocks) is in the buffer. 148 Bus Inactivity Limit Not supported (bytes 4 and 5). 148 Connect Time Limit Not supported (bytes 8 and 9). 148 DImm (Disconnect Immediate) Not supported. 148 Disconnect Time Limit Not supported (bytes 6 and 7). 148 DTDC (Data Transfer Disconnect Control) Not supported. 148 EMDP (Enable Modify Data Pointers) Not supported. 148 Maximum Burst Size The maximum amount of data that the drive will transfer in a Fibre Channel sequence. For performance, the maximum burst size should be a size that fits in a cache segment. The disc drive defaults to an integer multiple of 512 that is less than or equal to a segment size. The length of the sequence is an integer multiple of the frame size that is less than or equal to the maximum burst size. This value is expressed in increments of 512 bytes (e.g., a value of one means 512 bytes, two means 1024 bytes, etc.). The data length for a command may span multiple sequences. 148 Page Code 02h 148 Page Length 0Eh 148 Disconnect/Reconnect Control page code. The length of the Disconnect/Reconnect Control page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PS (Parameter Savable) This bit is not used with the Mode Select command. 1 222 The page 02h parameter data is savable. Fibre Channel Interface Manual, Rev. D 12.13.4 Format Parameters page (03h) The Format Parameters page implementation is defined in Table 149. This table summarizes the function and defines the default values for each bit. See the individual drive’s Product Manual, Volume 1, Mode Sense Data section for changeable values. The only time this page of parameters may be sent is immediately before sending a Format Unit command to the disc drive. The current parameters for this page are updated immediately but any changes between these current parameters and the existing media format are not in effect until after the Format Unit command is completed. The actual implementation of reserving spare areas for defect management takes place during the Format Unit command. Note. In Table 149, zone refers to defect management zone (one or more tracks), not a ZBR (variable track capacity recording) zone. ZBR zones are referred to as notches (page 0Ch is the Notch page). Table 149: Format Parameters page (03h) Bit Byte 7 6 5 4 3 2 1 0 0 1 1 Page descriptor header 0 1 0 0 0 PS 1 0 Page Code (03h) Page Length (16h) Format parameters 2,3 Default Tracks Per Zone (MSB) 4,5 Default Alternate Sectors Per Zone 6,7 Default Alternate Tracks Per Zone 8,9 Default Alternate Tracks Per Volume 10,11 Default Sectors Per Track 12,13 Default Data Bytes Per Physical Sector 14,15 Default Interleave 16,17 Default Track Skew Factor 18,19 Default Cylinder Skew Factor 20 Default 21–23 Default SSEC HSEC RMB SURF Reserved Drive Type Reserved Fibre Channel Interface Manual, Rev. D 223 Table number 149 Field definitions (listed alphabetically) Alternate Sectors Per Zone The number of spare sectors to be reserved for the defined defect management zone. 0 149 No sectors are to be reserved in each zone for defect management. This is to accommodate hosts that want to manage the defects themselves. Alternate Tracks Per Volume The number of spare tracks to be reserved at the end of the drive volume. The disc drive uses these locations for replacing defective sectors. Typically the disc drive defaults to two times the number of read/write heads in the drive, which amounts to two spare cylinders. A value of zero (0) indicates that no spare tracks are to be reserved at the end of the unit for defect management. The initiator may change this value for a number between 0 and 255 that is a multiple of the total number of Data Read/Write heads installed. 149 Alternate Tracks Per Zone The number of spare tracks to be reserved at the end of each defect management zone. 0 149 No spare tracks are to be reserved in each zone for defect management by the disc drive. Cylinder Skew Factor The average number of physical sectors between the last logical block of one cylinder and the first logical block of the next cylinder. A value of zero indicates no skew. Cylinder skew will be utilized by a disc drive but is not changeable by an initiator. 149 Data Bytes Per Physical Sector The number of data bytes the disc drive allocates per physical sector. This value equals the block length reported in the Mode Sense block descriptor. The bytes per physical sector is not directly changeable by the initiator and is not verified on a Mode Select command. 149 Drive Type The Hard Sectoring (HSEC) bit (bit 6) set to one indicates the disc drive uses hard sector formatting. The Soft Sectoring (SSEC) bit (bit 7) when set to one indicates the drive uses soft sectoring. Bits 0–5, and 7 are not implemented by the disc drive and are always zero. Bits 0 – 7 are not changeable. 149 Interleave The interleave value sent to the disc drive during the last Format Unit command. Note. 149 Page Code 03h 149 Format Parameters page code. Page Length 16h 149 This field is valid only for Mode Sense commands. The disc drive ignores this field during Mode Select commands. The length of the Format Parameters page (in bytes). PS (Parameter Savable) This bit is not used with the Mode Select command. 1 149 The page 03h parameter data is savable. RMB (Removable) 0 Indicates that the logical unit supports removable media. 1 Indicates that the logical unit does not support removable media. The status of this bit is reflected in the Inquiry command, removable media bit (RMB). 224 Fibre Channel Interface Manual, Rev. D 149 Sectors Per Track The average number of physical sectors the disc drive has per disc track. This value depends on the selected sector size and ZBR zones. The number of user accessible sectors per track may be fewer than the reported value, since sectors per track includes sectors set aside for defect management. This value cannot be used to calculate drive user-accessible capacity. Note. 149 149 The value cannot be directly selected with the Mode Select command, but is a report of how the drive is configured. SURF (Surface) 0 The target allocates progressive addresses to all logical blocks within a cylinder prior to allocating addresses on the next cylinder 1 The target allocates progressive addresses to all logical blocks on a surface prior to allocating sector addresses on the next surface. Track Skew Factor The average number of physical sectors between the last logical block on one track and the first logical block on the next sequential track of the same cylinder. A value of zero indicates no skew. Note. 149 This value is not changeable by an initiator. Tracks Per Zone The number of tracks the disc drive allocates to each defect management zone. Seagate drives define a defect management zone as one track or one cylinder. A programmed value of 1 defines one track per zone (i.e. spare sectors per track). Any other recorded value results in the drive defining one cylinder as the defect management zone and the drive automatically inserts the number of read/write heads (i.e., number of tracks per cylinder) in this field. Default value is usually 1, but see individual drive’s Product Manual, Volume 1. Fibre Channel Interface Manual, Rev. D 225 12.13.5 Rigid Disc Drive Geometry Parameters page (04h) The Rigid Disc Drive Geometry Parameters page implementation is defined in Table 150. This table summarizes the function and defines the default value. See the individual drive’s Product Manual, Volume 1, Mode Sense Data section, for changeable values. Table 150: Rigid Disc Drive Geometry Parameters page (04h) Bit Byte 7 6 5 4 3 2 1 0 1 0 0 Page descriptor header 0 1 0 0 0 0 PS 1 Page Code (04h) Page Length (16h) Rigid disc drive geometry parameters 2 Default Number of Cylinders (MSB) 3 Default Number of Cylinders 4 Default Number of Cylinders (LSB) 5 Default Number of Heads 6–8 Default Startling Cylinder–Write Precomp. 9–11 Default Starting Cylinder–Reduced Write Current 12,13 Default Drive Step Rate 14–16 Default Landing Zone Cylinder 17 Default 18 Default 0 0 0 0 0 0 0 0 0 0 Rotational Offset (XXh) 19 0 0 Default 20 RPL 0 0 Reserved (MSB) Medium Rotation Rate 21 22 (LSB) 0 0 0 0 Default 23 150 0 0 0 0 0 0 0 Reserved 0 0 Default Table number 0 0 0 Reserved Field definitions (listed alphabetically) Drive Step Rate Not applicable. 226 Fibre Channel Interface Manual, Rev. D 150 Landing Zone Cylinder Not applicable. 150 Medium Rotation Rate On Mode Sense commands, these bytes return drive nominal rotation rate in revolutions per minute for synchronous spindle operation. The bytes have no meaning for Mode Select. 150 Number of Cylinders The number of physical cylinders used for data storage. This may or may not include spare cylinders set aside for flaw reallocation. See individual drive’s Product Manual, Volume 1, which specifies what the drive reports. The disc drive uses some additional cylinders for storing disc drive parameters, defect lists, or for diagnostic purposes. These are not accessible by the user. 150 Number of Heads The maximum number of data (read/write) heads on the disc drive. 150 Page Code 04h 150 Page Length 16h 150 Rigid Disc Drive Geometry Parameters page code. The length of the Rigid Disc Drive Geometry Parameters page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PS (Parameter Savable) See applicable drive’s Product Manual, Volume 1, for features supported. This bit is not used with the Mode Select command. 1 150 Page 04 parameter data is savable and is saved when a Format function is performed. In some drives an exception exists that applies to bytes 17 and 18. In the exception drives, bytes 17 and 18 are only saved if the SMP bit in the Mode Select command (Table 138) is 1. Rotational Offset Rotational skew in the lagging direction used for spindle synchronization. XXh 150 Represents a XXh/FFh fractional part of a revolution lagging offset. One revolution lag is maximum. RPL (Rotation Position Locking) Used for spindle synchronization. 150 00b Automatic spindle synchronization (automatic master arbitration is used to determine which device in the chain is to be the master). 01b The target operates as a synchronized spindle slave. 10b The target operates as a synchronized spindle master. 11b The target operates as a synchronized spindle master control (not supported by the disc drive). Starting Cylinder–Reduced Write Current Not applicable. 150 Starting Cylinder–Write Precomp Not applicable. Fibre Channel Interface Manual, Rev. D 227 12.13.6 Verify Error Recovery page (07h) The Verify Error Recovery page specifies the error recovery parameters the target uses during the Verify command and the verify operation of the Write and Verify command. Table 151: Verify Error Recovery page (07h) Bit Byte 7 6 5 4 3 2 1 0 PER DTE DCR 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 (LSB) Page descriptor header 0 1 0 PS Reserved Page Code (07h) Page Length (0Ah) 1 Verify error recovery parameters 2 0 0 Default 0 0 Reserved 0 EER 3 Default Verify Retry Count 4 Default Verify Correction Span (bits) 5 0 0 0 0 Default 6 Reserved 0 0 0 0 Default 7 Reserved 0 0 0 0 Default 8 Reserved 0 0 0 0 Default 9 Reserved 0 0 0 0 Default 10 Reserved (MSB) 1 1 1 Default 11 Verify Recovery Time Limit 1 1 Default Table number 151 151 1 1 1 1 Verify Recovery Time Limit Field definitions (listed alphabetically) DCR (Disable Correction) 1 ECC correction will not be applied to the data even if correction is possible. 0 ECC correction will be applied if correction is possible. DTE (Disable Transfer on Error) The DTE bit is valid only when the PER bit is set to 1. 1 The disc drive terminates data transfer even for recoverable errors (the drive will transfer the data for the recovered error before terminating the transfer). 0 Data transfer continues if recoverable errors are encountered. Recoverable errors are reported after all data has been transferred. 228 Fibre Channel Interface Manual, Rev. D 151 151 EER (Enable Early Recovery) 1 The disc drive applies on-the-fly T>1 ECC correction as soon as possible, before attempting other retry mechanisms, and without reporting successful corrections to the host as recovered error. Seek error retries and message system errors are not affected by this bit. When this bit is set to 1, the DCR bit must be zero (0). 0 The disc drive applies ECC correction before other retry mechanisms, but does not perform T>1 corrections on the fly; any successful correction will be reported to the host as a recovered error. Page Code 07h 151 Page Length 0Ah 151 151 Verify Error Recovery page code. This field specifies the length of the parameter that follows (in bytes). PER (Post Error) 1 The disc drive reports Check Condition status and appropriate sense key for any recovered errors encountered. Reporting of unrecoverable errors has priority over reporting of recoverable errors. 0 Any errors recovered within the limits established by the other Error Recovery Flags are not reported. Any unrecoverable errors are reported. PS (Parameter Savable) Used only with the Mode Sense command. This bit is not used with the Mode Select command. 1 151 The target is capable of saving the page in a nonvolatile vendor-specific location. Verify Correction Span The size (in bits) of the largest burst data error for which data error correction may be attempted. If the drive does not implement this field, a value of zero (0) is returned in Mode Sense data. 151 Verify Recovery Time Limit The maximum time (in increments of one millisecond) that the drive uses error recovery procedures to recover data for an individual logical block. If the verify retry count and the verify recovery time limit are both specified, the one that requires the least time for a data error recovery actions has priority. The drive may round this value. 151 Verify Retry Count The number of times the drive will attempt its recovery algorithm during a verify operation. If the verify retry count and the verify recovery time limit are both specified, the one that requires the least time for data error recovery actions has priority. Fibre Channel Interface Manual, Rev. D 229 12.13.7 Caching Parameters page (08h) for Mode Sense/Mode Select The Caching Parameters page defines the parameters that affect the use of the cache. Table 152: Caching Parameters page (08h) Bit Byte 7 6 5 4 3 2 1 0 MF RCD Page descriptor header 0 1 2 PS Page Code (08h) Page Length (12h) IC 3 4 Reserved ABPF CAP DISC SIZE WCE Demand Read Retention Priority Write Retention Priority (MSB) Disable Prefetch Transfer Length 5 6 (MSB) Minimum Prefetch (LSB) 7 8 (MSB) Maximum Prefetch (LSB) 9 10 (MSB) Maximum Prefetch Ceiling (LSB) 11 12 FSW LBCSS 13 Number of Cache Segments 14 (MSB) DRA Reserved Cache Segment Size (LSB) 15 16 Reserved 17 (MSB) 18 Non-Cache Segment Size (LSB) 19 Table number 152 (LSB) Field definitions (listed alphabetically) ABPF (Abort Prefetch) 1 With the DRA bit equal to zero (0), requests that the SCSI device abort the prefetch upon selection. 0 With the DRA bit equal to zero (0), the termination of any active prefetch is dependent upon Caching Page bytes 4 through 11 and is operation and/or vendor specific. The ABPF set to 1 takes precedence over the Minimum Prefetch bytes. 152 Cache Segment Size The requested segment size (in bytes). This standard assumes that the Cache Segment Size field is valid only when the SIZE bit is 1. 152 CAP (Caching Analysis Permitted) 1 Caching analysis enabled. 0 Caching analysis disabled. Caching analysis results are placed in the SCSI Logging Information Table (Table 136). 230 Fibre Channel Interface Manual, Rev. D 152 Demand Read Retention Priority The cache replacement algorithm does not distinguish between retention in the cache of host-requested data and prefetch data. Therefore, this half byte is always zero (0). 152 Disable Prefetch Transfer Length Prefetch is disabled for any SCSI Read command whose requested transfer length exceeds this value. 152 152 152 152 DISC (Discontinuity) 1 The SCSI device continues the prefetch across time discontinuities, such as across cylinders or tracks up to the limits of the buffer, or segment, space available for prefetch. 0 Prefetches are truncated at time discontinuities. DRA (Disable Read-Ahead) 1 The target will not read any logical blocks into the buffer beyond the addressed logical block(s). 0 The target may continue to read logical blocks into the buffer beyond the addressed logical block(s). FSW (Force Sequential Write) 1 Multiple block writes are to be transferred over the interface and written to the media in an ascending, sequential, logical block order. 0 The target is allowed to reorder the sequence of writing addressed logical blocks in order to achieve a faster command completion. IC (Initiator Control) 1 Adaptive read look-ahead (ARLA) is disabled. 0 Adaptive read look-ahead (ARLA) is enabled. Since Seagate drives covered by this manual never organize the cache according to size of segment, but rather by number of segments, this bit is used to enable or disable adaptive RLA. Note. 152 ARLA cannot be disabled in some Seagate drives using the ASA II code. See individual drive’s Product Manual, Volume 1. LBCSS (Logical Block Cache Segment Size) Not used at this time. 152 Maximum Prefetch The maximum number of logical blocks that may be prefetched. The prefetch operation may be aborted before the maximum prefetch value is reached, but only if the minimum prefetch value has been satisfied. 152 Maximum Prefetch Ceiling The upper limit on the number of logical blocks computed as the maximum prefetch. If the Maximum Prefetch value is greater than the Maximum Prefetch Ceiling value, the value is truncated to the Maximum Prefetch Ceiling value. 152 152 MF (Multiplication Factor) 0 The Minimum Prefetch and Maximum Prefetch fields are interpreted as a number of logical blocks. 1 The target interprets the minimum and maximum prefetch fields to be specified in terms of a scalar number which, when multiplied by the number of logical blocks to be transferred for the current command, yields the number of logical blocks for each of the respective types of prefetch. Minimum Prefetch The minimum number of sectors to prefetch, regardless of the delay it may cause to other commands. 152 Non-Cache Segment Size If the Non-Cache Buffer Size field (Bytes 17–19) is greater than zero (0), this field specifies to the target the number of bytes the initiator requests that the target allocate for a buffer function when all other cache segments are occupied by data to be retained. If the number is at least 1, caching functions in the other segments need not be impacted by cache misses to perform the SCSI buffer function. Fibre Channel Interface Manual, Rev. D 231 If the Non-Cache Segment Size field = 0 or the Non-Cache Segment Size field value + Cache Segment Size field > buffer size, then the vendor determines the cache function. 152 Number of Cache Segments The number of segments into which the host requests the drive divide the cache. 152 Page Code 08h 152 Page Length 12h 152 Caching Parameters page for Mode Sense/Mode Select page code. The length of the Caching Parameters page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PS (Parameter Savable) This bit is not used with the Mode Select command. 152 152 1 Page 01h parameter data is savable and the bit function is directly changeable by an initiator (see Mode Select command). 0 This bit function is not directly changeable by an initiator, a value of 1 means the bit function is directly changeable by an initiator. See the individual drive’s Product Manual, Volume 1, for changeable values. RCD (Read Cache Disable) 0 SCSI Read commands may access the cache or the media. 1 SCSI Read commands must access the media. Data cannot come from the cache. SIZE (Size Enable) For Seagate drives covered by this manual, this bit is always zero (0). 152 152 1 The Cache Segment Size is to be used to control caching segmentation. 0 The Initiator requests that the Number of Cache Segments is to be used to control caching segmentation. WCE (Write Cache Enable) 0 SCSI Write commands will not return Completion Status until all data has been written to the media. 1 SCSI Write commands may return Completion Status as soon as all data has been received from the host. Write Retention Priority The cache replacement algorithm does distinguish between retention in the cache of host-requested data and prefetch data. Therefore, this half byte is always 0. Note. 232 In addition to the caching control provided by the Caching Mode page, some 10-byte commands contain control bits DPO and FUA—the intent of which is to override the cache page control bits. Fibre Channel Interface Manual, Rev. D 12.13.8 Mode Sense/Mode Select Control Mode page (0Ah) The Control Mode page provides controls over several SCSI-2 features which are applicable to all device types such as tagged queuing, extended contingent allegiance, asynchronous event notification, and error logging. See the individual drive’s Product Manual, Volume 1, Mode Sense Data table for changeable values. Table 153: Control Mode page (0Ah) Bit Byte 7 0 1 6 5 4 3 Reserved 2 1 0 GLTSD RLEC QErr DQue 0 0 Page Code (0Ah) PS Page Length (0Ah) 1 2 0 0 0 Default 0 0 0 Reserved 3 0 0 Queue Algorithm Modifier Default Reserved 4 0 Reserved 0 SWP Default Reserved 5 0 0 0 Not Supported 0 Default 0 0 0 0 0 0 0 0 Reserved 6&7 0 0 0 Default 8&9 0 RAC 0 Not Supported Busy Timeout Period Default 10 MSB Extended Self-Test Routine Completion Time 11 Table number 153 LSB Field definitions (listed alphabetically) Busy Timeout Period The maximum time, in 100 millisecond increments, that the initiator allows for the target to remain busy for unanticipated conditions that are not a routine part of commands from the initiator. This value may be rounded down as defined in Section 4.8 of this manual. 153 0000h Undefined. FFFFh Unlimited period. DQue (Disable Queuing) Drives supported by this manual require this bit to be set to zero (0). 153 1 Tagged queuing is disabled on the disc drive. This is not a valid value for the drives supported by this manual. 0 Tagged queuing is enabled. Extended Self-Test Routine Completion Time This field contains an advisory parameter that the application client may use to determine the time, in seconds, that the device server requires to complete the extended device self-test when the device server is not interrupted by an application client and no errors occur during execution of the device self-test. The application client should expect this time to increase significantly if other commands are sent to the logical unit while a test is in progress or if errors occur during execution of Fibre Channel Interface Manual, Rev. D 233 the test. Device servers supporting Self-Test Code field values other than 000b for the Send Diagnostic command (see Section 12.47) support the Extended Self-Test Completion Time field. 153 153 GLTSD (Global Logging Target Save Disable) 0 The target provides a target-defined method for saving log parameters (Logged to disk). 1 Either the target has disabled the target-defined method for saving log parameters or, when set by the initiator, specifies that the target-defined method will be disabled. Page Code 0Ah 153 Page Length 0Ah 153 Control Mode page code. The length of the Control Mode page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PS (Parameter Savable) This bit is not used with the Mode Select command. 1 153 153 Page 0Ah parameter data is savable in nonvolatile memory. QErr (Queue Error Management) 0 Commands still queued after the device has entered an auto contingent allegiance condition continue execution in a normal manner when that condition has terminated. 1 Commands still queued after the device has entered an auto contingent allegiance condition will be aborted when that condition has terminated. A unit attention condition is created for each initiator that had commands in the queue, but not for the initiator detecting the original error. Queue Algorithm Modifier Specifies restrictions on the algorithm used for reordering commands that are tagged with the Simple Queue Tag message. 0h Guarantee data integrity. The device must order the actual execution sequence of the queued command such that data integrity is guaranteed at any time. This requires that, if the data transmission of a command was halted at any time, the final value of all data must have exactly the same value it would have had if the command had been executed without queuing. The guaranteed data integrity value (0h) of the queue algorithm modifier bits is the usual default value. 1h Unrestricted reordering allowed. The device is allowed to order the actual execution sequence of the queued commands in any manner it selects. Any data integrity problems related to command sequence ordering are explicitly handled by the host operating system software. 2h–7h Reserved. 08h–FhVendor specific. 153 RAC (Report A Check) Not used at this time. 153 153 RLEC (Report Log Exception Condition) 1 The drive reports log exception conditions. 0 The drive does not report log exception conditions. SWP (Software Write Protect) 0 The medium is write enabled. 1 The medium is write protected. This bit is not changeable. 234 Fibre Channel Interface Manual, Rev. D 12.13.9 Notch page (0Ch) The Notch page contains parameters for direct access devices that implement a variable number of blocks per cylinder and support this page. Each section of the drive with a different number of blocks per cylinder is referred to as a notch. These values are not changeable. Note. Table 154: Notch page (0Ch) Bit 7 6 5 4 3 2 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 Byte 0 PS Reserved Page Code (0Ch) Page Length (16h) 1 2 0 0 0 0 ND Default 3 LPN 0 0 Default 4,5 Reserved 0 0 0 Reserved (MSB) Maximum Number of Notches Default 6,7 (LSB) (MSB) Active Notch Default 8–11 (LSB) (MSB) Starting Boundary Default 12–15 (LSB) (MSB) Ending Boundary Default 16–23 (LSB) (MSB) Pages Notched Default Table number 154 (LSB) Field definitions (listed alphabetically) Active Notch The notch to which this and subsequent Mode Select and Mode Sense commands refers, until the active notch is changed by a later Mode Select command. The value of the active notch is greater than or equal to zero (0) and less than or equal to the Maximum Number of Notches field value. 0 154 This and subsequent Mode Select and Mode Sense commands refer to the parameters that apply across all notches. Ending Boundary The ending of the active notch or, if the active notch is zero (0), the ending of the drive. If the LPN bit is 1, then the four bytes represent the logical block address. If the LPN bit is zero (0), the three most significant bytes represent the cylinder number and the least significant byte represents the head number. When used with the Mode Select command this field is ignored. Each notch will span a set of consecutive logical blocks on the drive, the notches will not overlap, and no logical block will be excluded from a notch. Fibre Channel Interface Manual, Rev. D 235 154 154 LPN (Logical or Physical Notch) 0 The notch boundaries are based on the physical parameters of the drive. The cylinder is considered most significant, the head least significant. 1 The notch boundaries are based on logical blocks on the drive. Maximum Number of Notches The maximum number of notches supported by the drive. 154 154 ND (Notched Drive) 0 The device is not notched. All other parameters in this page will be returned as zero (0) by the drive. 1 The drive is notched. For each supported active notch value, this page defines the starting and ending boundaries of the notch. Page Code 0Ch 154 Page Length 16h 154 Notch page code. The length of the Notch page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. Pages Notched A bit map of the mode page codes that indicates which pages contain parameters that may be different for different notches. The most significant bit of this field corresponds to Page Code 3Fh and the least significant bit corresponds to Page Code 00h. If a bit is 1, the corresponding mode page contains parameters that may be different for different notches. If a bit is zero (0), the corresponding mode page contains parameters that are constant for all notches. 154 PS (Parameter Savable) This bit is only used with the Mode Sense command. This bit is not used with the Mode Select command. 1 154 The drive is capable of saving the page in a nonvolatile vendor-specific location. Starting Boundary The beginning of the active notch or, if the active notch is zero (0), the beginning boundary of the drive. If the LPN bit is 1, then the four bytes represent a logical block address. If the LPN bit is zero (0), then the three most significant bytes represent the cylinder number and the least significant byte represents the head number. When used with the Mode Select command this field is ignored. 236 Fibre Channel Interface Manual, Rev. D 12.13.10 XOR Control Mode page (10h) The XOR Control Mode page provides the initiator with the means to obtain or modify certain XOR target operating parameters. Table 155: XOR Control Mode page (10h) Bit 7 6 5 4 3 2 1 0 0 0 1 0 0 0 0 Byte 0 PS Reserved Page Code (10h) Page Length (16h) 1 2 0 0 0 Default 3 0 0 XORDis Reserved 0 0 0 0 0 Reserved 0 0 Default 4–7 0 0 Reserved (MSB) Maximum XOR Write Size Default 8–11 (LSB) (MSB) Reserved Default 12–15 (LSB) (MSB) Maximum Regenerate Size Default 16–19 (LSB) (MSB) Maximum Rebuild Read Size Default 20 (LSB) (MSB) Reserved 21 (LSB) 22 (MSB) Rebuild Delay 23 Table number 155 (LSB) Field definitions (listed alphabetically) Maximum Rebuild Read Size The maximum rebuild length (in blocks) that the target will use for Read commands during a rebuild operation. This field does not limit the rebuild size. 155 Maximum Regenerate Size The maximum regenerate length (in blocks) that the target accepts for the Regenerate command. 155 Maximum XOR Write Size The maximum transfer length (in blocks) that the target accepts for a single XDWrite Extended, XDWrite, or XPWrite command. 155 Page Code 10h 155 XOR Control Mode page code. Page Length 16h The length of the XOR Control Mode page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. Fibre Channel Interface Manual, Rev. D 237 155 PS (Parameter Savable) This bit is only used with the Mode Sense command. This bit is not used with the Mode Select command. 1 155 The drive is capable of saving the page in a nonvolatile vendor-specific location. Rebuild Delay The minimum time (in milliseconds) between successive Read commands during a rebuild operation. 155 XORDis This bit enables and disables XOR operations within a device. 0 Enables XOR operations. 1 Disables XOR operations. If an XOR command is sent to the target, the command is terminated with Check Condition status. The sense data will be set to Illegal Request: Invalid Command Operation Code. 238 Fibre Channel Interface Manual, Rev. D 12.13.11 Fibre Channel Interface Control page (19h) The Fibre Channel Interface Control page controls options relevant to Fibre Channel protocol. It is intended for the control of features unique to Fibre Channel protocol that are not suitable for control by login or other techniques defined for Fibre Channel. Both the current and saved values of Mode page 19h, byte 3, are changeable using the Mode Select command. When the saved value of Byte 3 is changed, a new value is stored in nonvolatile (flash) memory, not on disc, and is reported during a Mode Sense command when either the current or saved value is requested. The current value of Byte 3 may be modified using Mode Select command any number of times. The saved value of Byte 3 may be modified using the Mode Select command up to 32 times. After 32 modifications, additional attempts to modify will result in a response of Illegal Request (05) with Error Code of 2600 (Invalid field in parameter list) and the Sense Key pointing to byte 3 as the offending parameter. Additional updates of Byte 3 saved value may be accomplished by downloading new microcode that supports Fibre Channel Interface Control page 19h. After a download, the saved value of Byte 3 may be updated 31 more times or 32 times if the value is 0 at the time of download. The saved and current value of Byte 3 is preserved through the download. Table 156: Fibre Channel Interface Control page (19h) Bit 7 6 5 4 3 2 1 0 1 0 0 1 1 0 0 1 PS Reserved Byte 0 Page Code (19h) Page Length (06h) 1 2 0 0 0 0 Default 0 0 0 0 Reserved 3 DTFD PLPB DDIS DLM DSA ALWLI DTIPE DTOLI 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Default 4 Default 5 Reserved 0 0 0 0 Default 6 Reserved 0 0 0 0 Default 7 Reserved 0 0 0 Default Table number 156 156 0 Reserved Field definitions (listed alphabetically) ALWLI (Allow Login Without Loop Initialization) 1 The target uses the Select_ID address available in the SCA connector and accepts logins without verifying the address with loop initialization. 0 The target must verify the address through loop initialization before accepting a login. DDIS (Disable Discovery) 1 The target does not require receipt of Address or Port Discovery ELS following loop initialization. The target resumes processing of tasks upon completion of loop initialization. 0 The target must wait to receive an Address or Port Discovery ELS before it resumes processing tasks for that initiator. Fibre Channel Interface Manual, Rev. D 239 156 156 DLM (Disable Loop Master) 1 Indicates that a target attached to an FC-AL-2 loop shall not participate in loop master arbitration and shall not become loop master. The target shall only repeat LISM frames it receives. 0 The target may participate in loop master arbitration in the normal manner and, if successful, may become loop master during the loop initialization process. Targets not attached to an arbitrated loop shall ignore the DLM bit. DSA (Disable Soft Address) 1 The target does not select a soft address if there is a conflict for the Select_ID address available in the SCA connector during loop initialization. If there is a Select_ID address conflict, the target enters the non-participation state. If the target detects loop initialization while in the non-participation state, the target again attempts to get the Select_ID address. 0 The target attempts to obtain a soft address during loop initialization if the Select_ID address is not available or if the Select_ID address indicates the use of a soft address (7Fh). 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. 156 156 DTFD (Disable Target Fabric Discovery) 1 The target attached by an FC-AL loop will not recognize the presence of a fabric loop port (FL_Port) on the loop. The target will only perform the private loop functions defined for FC-PLDA targets. 0 The target attached by an FC-AL loop will discover the FL_Port if present on the loop and will perform the public loop functions defined for FC-FLA targets. Targets attached to an N_Port or to an F_Port will ignore this bit. DTIPE (Disable Target Initiated Port Enable) 1 Note. 0 156 157 After completing self test, the target enables the port in the loop without waiting for a Loop Port Enable primitive. 1 The target does not originate the initializing LIP following insertion into the loop. The target responds to an Initializing LIP when it is received. The target originates the Loop Failure LIP if it detects loop failure at its input. The target originates the Initializing LIP when the loop failure is corrected. 0 After completing self test, the target originates the Initializing LIP when it enables a port in a loop. Page Code Fibre Channel Interface Control page code. Page Length 06h 157 Do not set the PLPB bit to one (1) and the DTIPE bit to one (1) at the same time as this is an illegal bit combination. When an illegal bit combination is sent by the application client, the device server returns Check Condition status and sets the sense key to Illegal Request with the additional sense code set to Invalid Field in the Parameter List. DTOLI (Disable Target Originated Loop Initialization) 19h 157 The target waits for an initiator to send the Loop Port Enable primitive before inserting itself into the loop. The target uses the Select_ID address available in the SCA connector to determine if primitives are addressed to it. The length of the Fibre Channel Interface Control page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PS (Parameter Savable) This bit is only used with the Mode Sense command. This bit is not used with the Mode Select command. 1 156 The drive is capable of saving the page in a nonvolatile vendor-specific location. PLPB (Prevent Loop Port Bypass) 1 Note. 0 240 The target ignores any Loop Port Bypass (LPB) and Loop Port Enable (LPE) primitive sequences. The loop port remains enabled. Do not set the PLPB bit to one (1) and the DTIPE bit to one (1) at the same time as this is an illegal bit combination. When an illegal bit combination is sent by the application client, the device server returns Check Condition status and sets the sense key to Illegal Request with the additional sense code set to Invalid Field in the Parameter List. The target allows the Loop Port Bypass and Port Bypass Enable primitive sequences to control the port bypass circuit. Fibre Channel Interface Manual, Rev. D 12.13.12 Power Condition page (1Ah) The Power Condition page provides the initiator the means to control the length of time a logical unit will delay before changing its power requirements. There is no notification to the initiator that a logical unit has entered into one of the power conditions. On receipt of this command, the device adjusts itself to the power condition which allows the command to execute. The timer which maps to this power condition and any lower power condition timers is reset on receipt of the command. The timer associated with this power condition is restarted when the condition that forces the change in power completes. Table 157: Power Condition page (1Ah) Bit Byte 0 7 6 PS Reserved 1 Page Length (0Ah) 2 Reserved 5 3 4 4 3 2 1 0 Idle Standby Page Code (1Ah) Reserved (MSB) 5 Idle Condition Timer 6 7 8 (LSB) (MSB) 9 Standby Condition Timer 10 11 Table number 157 157 (LSB) Field definitions (listed alphabetically) Idle 1 The drive will use the Idle Condition Timer to determine the length of inactivity time to wait before entering the Idle condition. 0 The drive will not enter the Idle condition. Idle Condition Timer The inactivity time (in 100 millisecond increments) that the logical unit will wait before entering the Idle condition. Minimum time is 500 milliseconds. 157 Page Code 1Ah 157 Page Length 0Ah 157 Power Condition page code. The length of the Power Condition page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PS (Parameter Savable) This bit is only used with the Mode Sense command. This bit is not used with the Mode Select command. 1 157 The drive is capable of saving the page in a nonvolatile vendor-specific location. Standby 1 The drive will use the Standby Condition Timer value to determine the length of inactivity time to wait before entering the Idle condition. 0 The drive will not enter the Idle condition. Fibre Channel Interface Manual, Rev. D 241 157 Standby Condition Timer The inactivity time (in 100 millisecond increments) that the logical unit shall wait before entering the Standby condition. 242 Fibre Channel Interface Manual, Rev. D 12.13.13 Informational Exceptions Control page (1Ch) The Informational Exceptions Control page (see Table 158) defines the methods used by the target to control the reporting and the operations of specific informational exception conditions. This page only applies to informational exceptions that report an additional sense code of Failure Prediction Threshold Exceeded to the application client. Mode page 1Ch may be used by the drive to implement the S.M.A.R.T. system. S.M.A.R.T. is an acronym for Self-monitoring Analysis and reporting Technology. The intent of the S.M.A.R.T. system is to recognize conditions that indicate imminent drive failure, and provide sufficient warning to the host system of impending failure. Informational exception conditions occur as the result of vendor specific events within a target. An information exception condition may occur asynchronous to any commands issued by an application client. Table 158: Informational Exceptions Control page (1Ch) Bit 7 6 5 PS Reserved 4 3 2 1 0 Reserved LogErr Byte 0 1 Page Length (0Ah) 2 Perf 3 4 Page Code (1Ch) EWasc Reserved DExcpt Reserved Test MRIE (MSB) : Interval Timer 7 8 (LSB) (MSB) : Report Count 11 Table number 158 158 158 (LSB) Field definitions (listed alphabetically) DExcpt (Disable Exception Control) 0 Information exception operations are enabled and the Method of Reporting Informational Exceptions field determines the reporting of information exception conditions. 1 Information exception operations are disabled by target and the Method of Reporting Informational Exceptions field is ignored. EWasc 0 The target shall disable reporting of the warning of temperature limit exceeded. 1 The target shall enable reporting of the warning of temperature limit exceeded. Interval Timer Indicates the period (in 100 millisecond increments) for reporting that an informational exception condition has occurred. The target does not report informational exception conditions more frequently than the time specified by the Interval Timer field and as soon as possible after the timer interval has elapsed. After the informational exception condition has been reported, the Interval Timer is restarted. 0 Target only reports the informational exception condition one time. FFFFFFFFh Timer interval is vendor specific. Maintaining of the Interval Timer field’s access power cycle and/or reset by the target is vendor specific. 158 LogErr (Log Errors) 0 The logging of informational exception conditions within a target is vendor specific. 1 The target logs informational exception conditions. Fibre Channel Interface Manual, Rev. D 243 158 MRIE (Method of Reporting Informational Exceptions) Indicates the methods that are used by the target to report informational exception conditions (see Table 159). The priority of reporting multiple information exceptions is vendor specific. Table 159: Method of Reporting Informational Exceptions field MRIE 158 No reporting of informational exception condition. This method instructs the target to not report information exception conditions. 1h Asynchronous event reporting. This method instructs the target to report informational exception conditions by using the rules for asynchronous event reporting as described in the SCSI-3 Architecture Model and the relevant Protocol Standard. The sense key is set to Recovered Error and the additional sense code indicates the cause of the informational exception condition. 2h Generate unit attention. This method instructs the target to report informational exception conditions by returning a Check Condition status on any command. The sense key is set to Unit Attention and the additional sense code indicates the cause of the informational exception condition. The command that has the Check Condition is not executed before the informational exception condition is reported. 3h Conditionally generate recovered error. This method instructs the target to report informational exception conditions, dependent on the value of the per bit of the error recovery parameters mode page, by returning a Check Condition status on any command. The sense key is set to Recovered Error and the additional sense code indicates the cause of the informational exception condition. The command that has the Check Condition completes without error before any informational exception condition may be reported. 4h Unconditionally generate recovered error. This method instructs the target to report informational exception conditions, regardless of the value of the per bit of the error recovery parameters mode page, by returning a Check Condition status on any command. The sense key is set to Recovered Error and the additional sense code indicates the cause of the information exception condition. The command that has the Check Condition completes without error before any informational exception condition may be reported. 5h Generate no sense. This method instructs the target to report informational exception conditions by returning a Check Condition status on any command. The sense key is set to No Sense and the additional sense code indicates the cause of the informational exception condition. The command that has the Check Condition completes without error before any informational exception condition may be reported. 6h Only report informational exception condition on request. This method instructs the target to preserve the informational exception information. To find out about information exception conditions, the application client polls the target by issuing an unsolicited Request Sense command. The sense key is set to No Sense and the additional sense code indicates the cause of the informational exception condition. Reserved. Ch-Fh Vendor specific. Page Code Informational Exceptions Control page code. Page Length 0Ah 158 0h 7h-Bh 1Ch 158 Description The length of the Informational Exceptions Control page (in bytes). If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. PS (Parameter Savable) This bit is not used with the Mode Select command. 244 Fibre Channel Interface Manual, Rev. D 158 158 Perf (Performance) 0 Informational exception operations that are the cause of delays are acceptable. 1 The target does not cause delays while doing informational exception operations. A Perf bit set to one may cause the target to disable some or all of the informational exceptions operations, thereby limiting the reporting of informational exception conditions. Report Count Indicates the number of times to report an informational exception condition to the application client. Maintaining of the Report Count field’s access power cycle and/or reset by the target is vendor specific. 0 158 Indicates there is no limit on the number of times the target reports an informational exception condition. Test This field specifies whether the drive will create false drive failure notifications. 0 The drive does not create false drive failure notifications. 1 The drive creates false drive failures at the next interval time, provided that the DExcpt bit is not set. The MRIE and Report Count fields apply as specified in this document. A false drive failure will be reported as sense code/qualifier 5DFF (FF for false failure versus a true failure 5D00). Fibre Channel Interface Manual, Rev. D 245 12.14 Mode Sense (10) command 5Ah The Mode Sense (10) command provides a means for the drive to report drive operating mode parameters to the initiator. It is a complementary command to the Mode Select (10) command. Table 160: Mode Sense (10) command (5Ah) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 0 1 1 0 1 0 1 0 0 0 Reserved DBD Reserved Reserved 2 PCF 3 Reserved 4 Reserved 5 Reserved 6 Reserved 7 (MSB) Allocation Length 8 9 Page Code (LSB) Control See the Mode Sense (6) command (Section 12.13) for a description of the fields in this command. 246 Fibre Channel Interface Manual, Rev. D Table 161: Mode Sense (10) data Bit 7 6 5 4 3 2 1 0 Byte 0 (MSB) Sense Data Length 1 (LSB) 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (LSB) Medium Type 3 0 0 0 WP DPO-FUA Reserved 4 Reserved 5 Reserved 6 (MSB) 0 0 Reserved 0 0 0 Block Descriptor Length (8 decimal) 7 Table number 161 0 0 0 0 0–7 Block Descriptor Data (see Table 143) 0–n Mode Sense Page Headers and Their Parameters 1 Field definitions (listed alphabetically) Block Descriptor Data See Table 143. 161 Block Descriptor Length The length (in bytes) of the block descriptor. It is equal to the number of bytes in the Block Descriptor (8) and does not include the page headers and mode parameters, if any. The disc drive sends one Block Descriptor. Each Block Descriptor specifies the medium characteristics for all or part of a logical unit. Each Block Descriptor contains a Density Code, a Number of Blocks, and a Block Length. 161 161 DPO-FUA (Disable Page Out–Force Unit Access) 0 When used with the Mode Sense command, this value indicates that the target does not contain a cache memory or does not support the DPO and FUA bits. 1 The target supports the DPO and FUA bits. Medium Type 00h 161 (default medium). This is the only valid value. Mode Sense Page Headers and Their Parameters See Table 143. 161 Sense Data Length The length (in bytes) of the Mode Sense data that is available to be transferred to the initiator. The Sense Data Length does not include itself. 161 WP (Write Protect) 0 The medium is write enabled. 1 The medium is write protected. Fibre Channel Interface Manual, Rev. D 247 12.15 Move Medium command A7h Not implemented. If the drive receives this command, a Check Condition status is sent. 248 Fibre Channel Interface Manual, Rev. D 12.16 Persistent Reserve In command 5Eh Use the Persistent Reserve In command to obtain information about persistent reservations and reservation keys that are active within a device server. Use this command in conjunction with the Persistent Reserve Out command (see Section 12.17). Note. The actual length of the Persistent Reserve In parameter data is available in a parameter data field.The Allocation Length field in the CDB indicates how much space has been reserved for the returned parameter list. If the length is not sufficient to contain the entire parameter list, the first portion of the list is returned (this is not considered an error). If the remainder of the list is required, the application client should send a new Persistent Reserve In command with an Allocation Length field large enough to contain the entire list. Table 162: Persistent Reserve In command (5Eh) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 0 1 1 1 1 0 1 Reserved 2 Reserved 3 Reserved 4 Reserved 5 Reserved 6 Reserved 7 Service Action (MSB) Allocation Length 8 9 Table number 162 (LSB) Control Field definitions (listed alphabetically) Allocation Length The number of bytes reserved for the returned parameter list. 162 Control See Control Byte in Section 11.2.1.6. 162 Service Action 00h Read keys. Reads all registered reservation keys. This service action requests that the device server return a parameter list containing a header and a list of each currently registered initiator’s reservation key. If multiple initiators have registered with the same key, that key value is listed multiple times, once for each registration. See Section 12.16.1. 01h Read reservation. Reads all current persistent reservations. This service action requests that the device server return a parameter list containing a header and the persistent reservations, if any, present in the device server. Multiple persistent reservations may be returned only if element reservations are present. See Section 12.16.2. 02h-1Fh Reserved. Fibre Channel Interface Manual, Rev. D 249 12.16.1 Persistent Reserve In parameter data for read keys The format for the parameter data provided in response to a Persistent Reserve In command with the Read Keys service action is shown in Table 163. Table 163: Persistent Reserve In parameter data for read keys Bit Byte 7 0 (MSB) 6 5 4 3 2 1 0 Generation 3 (LSB) 4 (MSB) Additional Length (n - 7) 7 (LSB) Reservation key list 8 (MSB) First reservation key 15 Table number 163 (LSB) . . . (MSB) n-7 : n (MSB) . . . (LSB) Last reservation key (LSB) Field definitions (listed alphabetically) Additional Length This field contains the number of bytes in the reservation key list. If the allocation length specified by the Persistent Reserve In command is not sufficient to contain the entire parameter list, only the bytes from 0 to the maximum allowed Allocation length are sent to the application client. The remaining incremental bytes are truncated, although the Additional length field will still contain the actual number of bytes in the reservation key list without consideration of any truncation resulting from an insufficient Allocation length (this is not considered an error). 163 Generation The Generation field is a 32-bit counter maintained by the device server. It is incremented every time a Persistent Reserve Out command requests the following service actions: • Register • Clear • Preempt • Preempt and Abort The counter is not incremented by the following commands: • Persistent Reserve In command • Persistent Reserve Out command that performs a Reserve or Release service action • Persistent Reserve Out command that is not performed due to an error or reservation conflict Note. 163 The Generation value is set to 0 as part of the power on reset process regardless of the APTPL bit value. Reservation keys (first through last) The Reservation key list contains all the 8-byte reservation keys for all initiators that have registered with the device server through all ports with the device server. 250 Fibre Channel Interface Manual, Rev. D 12.16.2 Persistent Reserve In parameter data for read reservation The format for the parameter data provided in response to a Persistent Reserve In command with the Read Reservation service action is shown in Table 164. Table 164: Persistent Reserve In parameter data for read reservation Bit Byte 7 0 (MSB) 6 : 5 4 3 (MSB) Additional Length (n - 7) 7 (LSB) (MSB) : n Table number 164 0 (LSB) : 8 1 Generation 3 4 2 Reservation Descriptors (see Table 165) (LSB) Field definitions (listed alphabetically) Additional Length This field contains the number of bytes to follow in Reservation descriptors. If the allocation length specified by the Persistent Reserve In command is not sufficient to contain the entire parameter list, only the bytes from 0 to the maximum allowed allocation length are sent to the application client. The remaining incremental bytes are truncated; however, the Additional Length field will still contain the actual number of Reservation Descriptor bytes and will not be affected by the truncation (this is not considered an error). 164 Generation The Generation value is as defined for the Persistent Reserve In Read Keys parameter data. See Section 12.16.1, “Persistent Reserve In parameter data for read keys.” 164 Reservation Descriptors There is one read reservation descriptor for each persistent reservation, if any, present in the logical unit and a Reservation Descriptor for each element, if any, having a persistent reservation. If a persistent reservation is present in the logical unit that does not contain elements, there will be a single reservation descriptor in the list of parameter data returned by the device server in response to the Persistent Reserve In command with a Read Reservation service action. The Reservation descriptor for each reservation will contain the Reservation Key under which the persistent reservation is held. The Type and Scope of each persistent reservation as present in the Persistent Reserve out command that created the persistent reservation is returned. If a persistent reservation is present in a logical unit that does contain elements, there will be a Reservation descriptor in the list of parameter data returned by the device server. This is in response to the Persistent Reserve In command with a Read Reservation service action for the logical unit persistent reservation that is held, if any, and each element persistent reservation that may be held. The Reservation descriptor contains the Reservation Key under which the persistent reservation is held. The Type and Scope of the persistent reservation as present in the Persistent Reserve out command that created the persistent reservation is returned. If the Scope is an Element reservation, the Scope-specific Address field contains the element address, zero filled in the most significant bytes to fit the field. If the Scope is a Logical Unit reservation, the Scope-specific Address field is set to zero. The obsolete field (bytes 14 and 15) were defined in a previous standard and no longer used. The format of a single read reservation descriptor is provided in Table 165. Fibre Channel Interface Manual, Rev. D 251 Table 165: Persistent Reserve In Reservation Descriptor Bit Byte 7 0 (MSB) 6 5 : 4 3 2 1 Reservation Key 7 8 (LSB) (MSB) : Scope-specific Address 11 12 (LSB) Reserved 13 14 0 Scope Type (MSB) Obsolete (no longer used) 15 165 (LSB) Reservation Key The reservation key is the registered reservation key under which the reservation is held. If initiators use unique keys, the application should be able to associate the reservation key with the initiator that holds the reservation. 165 Scope The value in this field specifies whether a persistent reservation applies to an entire logical unit or to an element. 165 Code Name and Description 0h LU (logical unit). Persistent reservation applies to the full logical unit. The LU scope is implemented by all device servers that implement Persistent Reserve Out. 1h Obsolete (no longer used). 2h Element. Persistent reservation applies to the specified element of the logical unit defined by the Scope-specific Address field in the Persistent Reserve out parameter list. An element is defined by the SCSI-3 Medium Changer Command (SMC) standard. The Element scope is optional for all device servers that implement Persistent Reserve out. 3h-Fh Reserved. Scope-specific Address If the Scope is an Element reservation (2h), this field contains the Element address, zero filled in the most significant bytes to fit the field. If the Scope is a Logical Unit reservation (oh), this field is set to 0. 252 Fibre Channel Interface Manual, Rev. D 165 Type This field determines the characteristics of the persistent reservation being established for all data blocks within the extent or logical unit. The required device server support descriptions below are divided into two paragraphs. The first paragraph defines the required handling for read operations. The second paragraph defines the required handling for write operations. Type Code Name 0h Obsolete (no longer used) 1h Write Exclusive Description Reads Shared Any application client on any initiator may execute tasks that request transfers from the storage medium or cache of the logical unit to the initiator. Writes Exclusive All tasks from any initiator other than the initiator holding the persistent reservation that requests a transfer from the initiator to the storage medium or cache of the logical unit result in a reservation conflict. 2h Obsolete (no longer used) 3h Exclusive Access Reads Exclusive All tasks from any initiator other than the initiator holding the persistent reservation that requests a transfer from the storage medium or cache of the logical unit to the initiator result in a reservation conflict. Writes Exclusive All tasks from any initiator other than the initiator holding the persistent reservation that requests a transfer from the initiator to the storage medium or cache of the logical unit result in a reservation conflict. 4h Obsolete (no longer used) 5h Write Exclusive, Registrants Only 6h 7h - Fh Reads Shared Any application client on any initiator may execute tasks that request transfers from the storage medium or cache of the logical unit to the initiator. Writes Exclusive All tasks that request a transfer to the storage medium or cache of the logical unit from an initiator that is not currently registered with the device server result in a reservation conflict. Exclusive Access, Registrants Only Read Exclusive All tasks that requests a transfer from the storage medium or cache of the logical unit to an initiator that has not previously requested a Register service action with the device server result in a reservation conflict. Writes Exclusive All tasks that requests a transfer to the storage medium or cache of the logical unit from an initiator that is not currently registered with the device server result in a reservation conflict. Reserved Fibre Channel Interface Manual, Rev. D 253 12.17 Persistent Reserve Out command 5Fh The Persistent Reserve Out command is used to request service actions that reserve a logical unit or element for the exclusive or shared use of a particular initiator. This command is used in conjunction with the Persistent Reserve In command and should not be used with the Reserve and Release commands. Initiators performing Persistent Reserve Out service actions are identified by a reservation key provided by the application client. An application client may use the Persistent Reserve In command to identify which initiators are holding a persistent reservation and use the Persistent Reserve Out command to preempt that reservation if required. If a Persistent Reserve out command is attempted, but there are insufficient device server resources to complete the operation, the device server returns a Check Condition status. The sense key is set to Illegal Request and the additional sense data is set to Insufficient Registration Resources. The Persistent Reserve Out command contains fields that specify a persistent reservation service action, the intended scope of the persistent reservation, and the restrictions caused by the persistent reservation. If a Scope field specifies a scope that is not implemented, the device server returns a Check Condition status. The sense key is set to Illegal Request and the additional sense data is set to Invalid Field in CDB. Fields in the Persistent Reserve out parameter list specify the information required to perform a particular persistent reservation service action. Table 166: Persistent Reserve Out command (5Fh) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 0 1 1 1 1 1 1 Reserved 2 Scope 3 Reserved 4 Reserved 5 Reserved 6 Reserved 7 Service Action Type (MSB) Parameter List Length (18h) 8 9 Table number 166 (LSB) Control Field definitions (listed alphabetically) Control See Control Byte in Section 11.2.1.6. 166 Parameter List Length 24 (18h) 166 If the parameter list length is set to something other than 24, the device server returns a Check Condition status, the sense key is set to Illegal Request, and the additional sense data is set to Parameter List Length Error. Scope See definition on page 252. If the Scope field specifies a scope that is not implemented, the device server returns a Check Condition status, the sense key is set to Illegal Request, and additional sense data is set to Invalid Field in CDB. 254 Fibre Channel Interface Manual, Rev. D 166 Service Action When processing Persistent Reserve Out service actions, the device server increments the generation value as specified in Section 12.16.1 (see page 250). 166 00h Register. Register a reservation key with the device server. 01h Reserve. Create a persistent reservation with a specified scope and type. 02h Release. Release a persistent reservation for the requesting initiator. 03h Clear. Clear all reservation keys and all persistent reservations. 04h Preempt. Preempt persistent reservations from another initiator. 05h Preempt and Abort. Preempt persistent reservations from another initiator and abort the task set for the preempted initiator. 06h-1Fh Reserved. Type See definition on page 252. Fibre Channel Interface Manual, Rev. D 255 12.17.1 Persistent Reserve Out parameter list The parameter list for the Persistent Reserve Out command is defined in Table 167. All fields are sent on all Persistent Reserve Out commands, even if the field is not required for the specified service action and scope values. Table 167: Persistent Reserve Out parameter list Bit Byte 7 0 (MSB) 6 5 : 4 3 2 (LSB) (MSB) : Service Action Reservation Key 15 16 (LSB) (MSB) : Scope-specific Address 19 (LSB) 20 21 22 0 Reservation Key 7 8 1 Reserved APTPL Reserved (MSB) Obsolete (no longer used) 23 Table number 167 (LSB) Field definitions (listed alphabetically) APTPL (Activate Persist Through Power Loss) The APTPL bit is valid only for the Register service action. In all other cases, the APTPL is ignored. Support for an APTPL bit equal to one is optional. If a device server that does not support the APTPL bit value of one receives that value in a Register service action, the device server returns a Check Condition status. The sense key is set to Illegal Request, and additional sense data is set to Invalid Field in the Parameter List. If the last valid APTPL bit value received by the device server is zero, the loss of power in the target releases all persistent reservations for all logical units and removes all reservation keys. If the last valid APTPL bit value received by the device server is one, the logical unit retains all persistent reservations that may be present and all reservation keys for all initiators even if power is lost and later returned. Table 168 summarizes which fields are set by the application client and interpreted by the device server for each service action and scope value. Two Persistent Reserve Out parameters (Reservation Key and the APTPL bit) are not summarized below since they are discussed above. 256 Fibre Channel Interface Manual, Rev. D Table 168: Persistent Reserve Out service actions and valid parameters Parameters Service action 167 Allowed scope Service action reservation key Type Element or element parameters Register Ignored Ignored Valid Ignored Reserve Logical Unit Element Valid Valid Ignored Ignored Ignored Valid Release Logical Unit Element Valid Valid Ignored Ignored Ignored Valid Clear Ignored Ignored Ignored Ignored Preempt Logical Unit Element Valid Valid Valid Valid Ignored Valid Preempt and Clear Logical Unit Element Valid Valid Valid Valid Ignored Valid Reservation Key This field contains an 8-byte value provided by the application client to the device server to identify the initiator that is the source of the Persistent Reserve Out command. The device server verifies that the Reservation Key field in a Persistent Reserve Out command matches the registered reservation key for the initiator from which the task was received (except for the Register service action for an unregistered initiator which will have a reservation key value of zero). If a Persistent Reserve Out command specifies a Reservation Key field other than the reservation key registered for the initiator, the device server returns a Reservation Conflict status. The reservation key of the initiator will be verified to be correct regardless of the Service Action and Scope field values. 167 Scope-specific Address If the scope is an Element reservation, the Scope-specific Address field contains the element address, zero filled in the most significant bytes to fit the field. If the service action is Register or Clear, or if the scope is a Logical Unit reservation, the Scope-specific Address field is set to zero. 167 Service Action Reservation Key The Service Action Reservation key field contains information needed for the three service actions listed below: Service action Service action reservation key field contents Register The new reservation key to be registered. Preempt The reservation key of the persistent reservations that are being preempted. Preempt and Abort The reservation key of the persistent reservations that are being preempted. Note. The Service Action Reservation Key is ignored for all service actions except those described above. Fibre Channel Interface Manual, Rev. D 257 12.18 Prefetch (10) command 34h The Prefetch (10) command requests that the drive read and transfer the specified logical blocks to the drive's cache memory. No data shall be transferred to the initiator. Table 169: PREFETCH (10) command (34h) Bit Byte 7 6 5 4 3 2 1 0 Immed RelAdr Operation Code (34h) 0 1 Reserved 2 3 4 5 (MSB) Logical Block Address (LSB) Reserved 6 7 (MSB) Transfer Length 8 (LSB) Control 9 Table number 169 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 169 Immed (Immediate) 0 1 169 Status shall be returned after the operation is complete. Status shall be returned as soon as the command descriptor block has been validated. Logical Block Address The logical block address field specifies the first logical block of the range of logical blocks for this command. 169 Operation Code 34h 169 The operation code for the Prefetch (10) command. RelAdr (Relative Addressing) This function is not supported by drives described in this manual. 169 Transfer Length The Transfer Length field specifies the number of contiguous logical blocks of data that shall be transferred to the drive's cache memory. 0 The contiguous logical blocks up to and including the last logical block of the logical unit shall be transferred to the drive's cache memory. Any value other than 0 indicates the number of logical blocks that shall be transferred. The drive may elect to not transfer logical blocks that already are contained in the cache memory. If the Immed bit is zero and the specified logical blocks were successfully transferred to the cache memory, the drive shall return Condition Met status. If the Link bit (see Control Bytes in Section 11.2.1.6) is one, the drive shall return Intermediate– Condition Met status. If Immed is one and the unlocked cache memory has sufficient capacity to accept all of the specified logical blocks, the drive shall return Condition Met status. If the Link bit is one, the drive shall return Intermediate–Condition Met status. If Immed is one, and the unlocked cache memory does not have sufficient capacity to accept all of the specified logical blocks, the drive shall return Good status. The drive shall transfer to cache memory as many logical blocks as will fit. If the Link bit is one, the drive shall return Intermediate status. 258 Fibre Channel Interface Manual, Rev. D 12.19 Prefetch (16) command 90h The Prefetch (16) command requests that the drive read and transfer the specified logical blocks to the drive's cache memory. No data shall be transferred to the initiator. Table 170: PREFETCH (16) command (90h) Bit Byte 7 6 5 4 3 2 1 0 Immed RelAdr Operation Code (90h) 0 1 Reserved 2 (MSB) 3 4 5 Logical Block Address 6 7 8 9 (LSB) 10 (MSB) 11 Transfer Length 12 13 Table number 169 (LSB) 14 Reserved 15 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 169 169 Immed (Immediate) 0 Status shall be returned after the operation is complete. 1 Status shall be returned as soon as the command descriptor block has been validated. Logical Block Address The logical block address field specifies the first logical block of the range of logical blocks for this command. 169 Operation Code 90h 169 The operation code for the Prefetch (16) command. RelAdr (Relative Addressing) This function is not supported by drives described in this manual. Fibre Channel Interface Manual, Rev. D 259 169 Transfer Length The Transfer Length field specifies the number of contiguous logical blocks of data that shall be transferred to the drive's cache memory. 0 The contiguous logical blocks up to and including the last logical block of the logical unit shall be transferred to the drive's cache memory. Any value other than 0 indicates the number of logical blocks that shall be transferred. The drive may elect to not transfer logical blocks that already are contained in the cache memory. If the Immed bit is zero and the specified logical blocks were successfully transferred to the cache memory, the drive shall return Condition Met status. If the Link bit (see Control Bytes in Section 11.2.1.6) is one, the drive shall return Intermediate– Condition Met status. If Immed is one and the unlocked cache memory has sufficient capacity to accept all of the specified logical blocks, the drive shall return Condition Met status. If the Link bit is one, the drive shall return Intermediate–Condition Met status. If Immed is one, and the unlocked cache memory does not have sufficient capacity to accept all of the specified logical blocks, the drive shall return Good status. The drive shall transfer to cache memory as many logical blocks as will fit. If the Link bit is one, the drive shall return Intermediate status. 260 Fibre Channel Interface Manual, Rev. D 12.20 Prevent/Allow Medium Removal command 1Eh Not implemented. If the drive receives this command, the drive terminates with Check Condition status and sets an Illegal Request sense key. Fibre Channel Interface Manual, Rev. D 261 12.21 Read (6) command 08h The Read (6) command requests the disc drive to transfer data to the initiator. Table 171: Read (6) command (08h) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 (MSB) Reserved Logical Block Address 2 3 Table number 171 (LSB) 4 Transfer Length 5 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 171 Logical Block Address The logical block at which the read operation will begin. 171 Transfer Length The number of contiguous logical blocks of data to be transferred. Any number other than 0 indicates the number of logical blocks that are transferred. 0 Transfer 256 logical blocks. The data value most recently written in the addressed logical block is returned. Read data transfers with the initiator do not begin until at least one full sector of data is available in the disc drive data buffer. For multiple sector reads, the transfer of data continues until the number of blocks specified in byte 4 of the CDB has been read and transferred or until an unrecoverable error is detected. Data transfer could stop if the option to stop on recovered error is selected. The initiator closes the loop after sending one or more commands. For a Read (6) command, the disc drive arbitrates depending on the value of the Buffer Full Ratio Set in Page 2 of the Mode Select Data (see Section 12.11). After data transfer has been initiated with an initiator, the disc drive does not close the loop unless the buffer is empty or the transfer length is exhausted. The initiator must accept all data presented to the initiator after sending this command until the disc drive sends Completion Status. (The disc drive may close the loop and re-arbitrate depending on the availability of data in the buffer while executing this command and the initiator may prematurely terminate this command by creating the Reset condition or by sending an Abort, Clear Queue, Target Reset, or Selective Reset). Sense Data is valid after this command is executed and Completion Status is sent. If the Address Valid bit in the Sense Data is true (1), the Sense Data Logical Block Address (Information bytes) points to the last logical block accessed by the disc drive. If the Address Valid bit in the Sense Data is false (0), the Sense Data Logical Block Address bytes are not valid. 262 Fibre Channel Interface Manual, Rev. D The disc drive contains a large buffer and implements an optional prefetch and segmented cache function whereby the requested Read data is read into the buffer, plus an additional amount, depending on the cache control parameters. See Prefetch and Multisegmented Cache Control section in the individual drive’s Product Manual, Volume 1, for more information. This command is terminated with a Reservation Conflict status and no data is read if any reservation access conflict (see Section 12.39) exists. If any of the following conditions occur, this command is terminated with a Check Condition status, and if extended sense is implemented, the sense key is set as indicated in the following table. This table does not provide an exhaustive enumeration of all conditions that may cause the Check Condition status. Condition Sense key Invalid logical block address Illegal Request. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention Unrecoverable read error Medium Error Recovered read error Recovered Error Fibre Channel Interface Manual, Rev. D 263 12.22 Read (10) command 28h The Read (10) command requests that the target transfer data to the initiator. This command is implemented with the drive-specific parameters shown in Table 172. This command operates the same as the Read (6) command (see Section 12.21) except that in the CDB for this command a four-byte logical block address and a two-byte transfer length may be specified. The data value most recently written in the addressed logical block is returned to the Host. This command terminates with a Reservation Conflict status if any reservation access conflict (see Section 12.39) exists, and no data is read. Table 172: Read (10) command (28h) Bit 7 6 5 4 3 2 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 DPO FUA 0 0 Byte RelAdr Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Table number 172 0 0 7 Transfer Length (MSB) 8 Transfer Length (LSB) 9 Control 0 0 0 0 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 172 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 172 172 1 The disc drive assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The host knows the logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The host expects that logical blocks accessed by this command are likely to be accessed again in the near future. FUA (Force Unit Access) 1 The target accesses the media in performing the command prior to returning Good status. Read commands access the specified logical blocks from the media (i.e., the data is not directly retrieved from the cache). In the case where the cache contains a more recent version of a logical block than the media, the logical block is first written to the media. 0 The target satisfies the command by accessing the cache memory. For read operations, any logical blocks that are contained in the cache memory are transferred to the initiator directly from the cache memory. Logical Block Address The logical block at which the read operation begins, if RelAdr bit is zero (RelAdr function is not supported by drives described in this manual). 264 Fibre Channel Interface Manual, Rev. D 172 RelAdr (Relative Address) This function is not supported by drives described in this manual. 172 Transfer Length The number of contiguous logical blocks of data transferred. A Transfer Length of zero (0) indicates that no logical blocks are transferred. This condition is not considered an error. Any other value indicates the number of logical blocks that are transferred. If any of the following conditions occur, this command returns a Check Condition status and the sense key is set as indicated. This list does not provide an exhaustive enumeration of all conditions that cause the Check Condition status. Condition Sense Key Invalid logical block address Illegal Request. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention Unrecovered read error Medium Error Recoverable read error Recovered Error Fibre Channel Interface Manual, Rev. D 265 12.23 Read (12) command A8h The Read (12) command requests that the target transfer data to the initiator. Table 173: Read (12) command (A8h) Bit Byte 7 6 5 4 3 2 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 DPO FUA RelAdr Reserved Table number 173 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Transfer Length (MSB) 7 Transfer Length 8 Transfer Length 9 Transfer Length (LSB) 10 Reserved 11 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 173 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 173 173 1 The disc drive assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The host knows the logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The host expects that logical blocks accessed by this command are likely to be accessed again in the near future. FUA (Force Unit Access) 1 The target accesses the media in performing the command prior to returning Good status. Read commands access the specified logical blocks from the media (i.e., the data is not directly retrieved from the cache). In the case where the cache contains a more recent version of a logical block than the media, the logical block is first written to the media. 0 The target satisfies the command by accessing the cache memory. For read operations, any logical blocks that are contained in the cache memory are transferred to the initiator directly from the cache memory. Logical Block Address The logical block at which the read operation begins, if RelAdr bit is zero (RelAdr function is not supported by drives described in this manual). 266 Fibre Channel Interface Manual, Rev. D 173 RelAdr (Relative Address) This function is not supported by drives described in this manual. 173 Transfer Length The number of contiguous logical blocks of data transferred. A Transfer Length of zero (0) indicates that no logical blocks are transferred. This condition is not considered an error. Any other value indicates the number of logical blocks that are transferred. If any of the following conditions occur, this command returns a Check Condition status and the sense key is set as indicated. This list does not provide an exhaustive enumeration of all conditions that cause the Check Condition status. Condition Sense Key Invalid logical block address Illegal Request. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention Unrecovered read error Medium Error Recoverable read error Recovered Error Fibre Channel Interface Manual, Rev. D 267 12.24 Read (16) command (88h) The Read (16) command requests that the target transfer data to the initiator. Table 174: Read (16) command (88h) Bit Byte 7 6 5 4 3 2 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 DPO FUA RelAdr Reserved Table number 174 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address 6 Logical Block Address 7 Logical Block Address 8 Logical Block Address 9 Logical Block Address (LSB) 10 Transfer Length (MSB) 11 Transfer Length 12 Transfer Length 13 Transfer Length (LSB) 14 Reserved 15 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 174 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 174 1 The disc drive assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The host knows the logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The host expects that logical blocks accessed by this command are likely to be accessed again in the near future. FUA (Force Unit Access) 1 268 The target accesses the media in performing the command prior to returning Good status. Read commands access the specified logical blocks from the media (i.e., the data is not directly retrieved from the cache). In the case where the cache contains a more recent version of a logical block than the media, the logical block is first written to the media. Fibre Channel Interface Manual, Rev. D 0 174 The target satisfies the command by accessing the cache memory. For read operations, any logical blocks that are contained in the cache memory are transferred to the initiator directly from the cache memory. Logical Block Address The logical block at which the read operation begins, if RelAdr bit is zero (see RelAdr bit description). 174 RelAdr (Relative Address) This function is not supported by drives described in this manual. 174 Transfer Length The number of contiguous logical blocks of data transferred. A Transfer Length of zero (0) indicates that no logical blocks are transferred. This condition is not considered an error. Any other value indicates the number of logical blocks that are transferred. If any of the following conditions occur, this command returns a Check Condition status and the sense key is set as indicated. This list does not provide an exhaustive enumeration of all conditions that cause the Check Condition status. Condition Sense Key Invalid logical block address Illegal Request. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention Unrecovered read error Medium Error Recoverable read error Recovered Error Fibre Channel Interface Manual, Rev. D 269 12.25 Read Buffer command 3Ch The Read Buffer command is used in conjunction with the Write Buffer command as a diagnostic function for testing disc drive memory and the integrity of the FC-AL. This command will not alter the medium. Command format is shown in Table 175. Table 175: Read Buffer command (3Ch) Bit 7 6 5 4 3 2 1 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 Byte Mode Reserved 2 Buffer ID 3 (MSB) 4 Buffer Offset 5 (LSB) 6 (MSB) 7 Allocation Length 8 (LSB) Control 9 Table number 175 Field definitions (listed alphabetically) Allocation Length The number of bytes available for returning read buffer command data. 175 Buffer ID 0 175 Control See Control Bytes in Section 11.2.1.6. 175 Buffer Offset 0 175 Mode The interpretation of data bits 0–2 is given in the following table and in paragraphs following the table. Bit 2 Bit 1 Bit 0 0 0 0 Read combined descriptor header and data (Section 12.25.1) 0 1 0 Read data (Section 12.25.112.25.2) 0 1 1 Read descriptor (Section 12.25.312.25.1) 270 Fibre Channel Interface Manual, Rev. D 12.25.1 Read Combined Descriptor Header and Data mode (000b) In this mode, a four-byte Read Buffer header followed by the data bytes are returned to the initiator in a data transfer. The Buffer ID and Buffer Offset fields are not used by drives supported by this manual, and must be zero. Table 176: Read Buffer header (000b) Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 1 (MSB) Byte 2 Buffer Capacity 3 Table number 176 (LSB) Field definitions (listed alphabetically) Buffer Capacity The number of bytes available in the read buffer. 12.25.2 Read Data mode (010b) In this mode, the buffer data only is transferred with no header. The Buffer ID and Buffer Offset fields are not used. 12.25.3 Read Buffer descriptor mode (011b) In this mode, a maximum of four bytes of Read Buffer descriptor information is returned. If there is no buffer associated with the specified buffer ID, the target returns all zeros in the Read Buffer descriptor. The Buffer Offset field is reserved in this mode. The allocation length should be set to four or greater. The target transfers the lesser of the allocation length or four bytes of Read Buffer descriptor. The Read Buffer descriptor is defined as shown in the following table. Implementor’s note: In a multi-tasking system, a buffer may be altered between the Write Buffer and Read Buffer commands by another task. Buffer testing applications may wish to insure that only a single task is active. Use of reservations (to all logical units on the device) may also be helpful in avoiding buffer alteration between these two commands. Table 177: Read Buffer descriptor mode (011b) Bit 7 6 5 4 3 2 1 0 Byte 0 1 Offset Boundary (MSB) 2 3 Table number 177 Buffer Capacity (LSB) Field definitions (listed alphabetically) Buffer Capacity The total number of data bytes that are available in the disc drive’s data buffer (see 12.64.1 and 12.64.2). This number is not reduced to reflect the allocation length nor is it reduced to reflect the actual number of bytes written using the Write Buffer command. Following the Read Buffer header, the disc drive transfers data from its data buffer. The disc drive termi- Fibre Channel Interface Manual, Rev. D 271 nates the Data In phase when allocation length bytes of header plus data have been transferred or when all available header and buffer data have been transferred to the initiator, whichever is less. 177 Offset Boundary This field contains the boundary alignment with the selected buffer for subsequent Write Buffer and Read Buffer commands. This is interpreted as a power of two. 272 Fibre Channel Interface Manual, Rev. D 12.26 Read Capacity (10) command 25h The Read Capacity (10) command provides a means for the initiator to request the capacity of the disc drive information. Table 178: Read Capacity (10) command (25h) Bit 7 6 5 4 3 2 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 Byte RelAdr Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 PMI Control 9 Table number 178 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 178 Logical Block Address The 32-bit address of the logical block affected by this command. 178 178 PMI (Partial Medium Indicator) 0 The information returned in the Read Capacity data is the Logical Block Address and Block Length (in bytes) of the last logical block of the logical unit. (This value is the same for all drives of the same model number, sector size and sparing scheme. It is the same regardless of the number of defective blocks the drive has.) The Logical Block Address in the Command Descriptor Block is set to zero (0) for this option. 1 The information returned is the Logical Block Address and Block Length (in bytes) of the last Logical Block Address after which a substantial delay (defined as approximately one millisecond for the typical disc drive) in data transfer is encountered. This returned Logical Block Address is greater than or equal to the Logical Block Address specified in the Command Descriptor Block. This reported Logical Block Address is the last block prior to a cylinder boundary. RelAdr (Relative Address) This function is not supported by drives described in this manual. Fibre Channel Interface Manual, Rev. D 273 In response to the Read Capacity (10) command, the drive returns eight bytes of Read Capacity data to the host. The contents of the eight bytes are listed in Table 179. Table 179: Read Capacity data Byte 274 Description 0 Logical Block Address (MSB) 1 Logical Block Address 2 Logical Block Address 3 Logical Block Address (LSB) 4 Block Length (MSB) 5 Block Length 6 Block Length 7 Block Length (LSB) Fibre Channel Interface Manual, Rev. D 12.27 Read Capacity (16) command 9Eh The Read Capacity (16) command provides a means for the application client to request information regarding the capacity of the block device. This command is implemented as a service action of the Service Action In operation code. Table 180: Read Capacity (16) command (9Eh) Bit Byte 7 6 5 4 3 2 1 0 0 1 0 0 1 1 1 1 0 RelAdr PMI 1 Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address 6 Logical Block Address 7 Logical Block Address 8 Logical Block Address 9 Logical Block Address (LSB) 10 Allocation Length (MSB) 11 Allocation Length 12 Allocation Length 13 Allocation Length (LSB) 14 Reserved Control 15 Table number 180 Service Action (10h) Field definitions (listed alphabetically) Allocation Length Specifies the number of bytes the initiator has allocated for the returned defect data. An Allocation Length of zero indicates that no Read Defect Data is transferred. Any other value indicates the maximum number of bytes to be transferred. The drive terminates the Data In phase when the Allocation Length bytes have been transferred or when all available defect data has been transferred to the initiator, whichever is less. 180 Control See Control Bytes in Section 11.2.1.6. 180 Logical Block Address The logical block address field specifies the first logical block of the range of logical blocks for this command. 180 PMI (Partial Medium Indicator) 0 The information returned in the Read Capacity data is the Logical Block Address and Block Length (in bytes) of the last logical block of the logical unit. (This value is the same for all drives of the same model number, sector size and sparing scheme. It is the same regardless of the number of defective blocks the drive has.) The Logical Block Address in the Command Descriptor Block is set to zero (0) for this option. Fibre Channel Interface Manual, Rev. D 275 1 180 The information returned is the Logical Block Address and Block Length (in bytes) of the last Logical Block Address after which a substantial delay (defined as approximately one millisecond for the typical disc drive) in data transfer is encountered. This returned Logical Block Address is greater than or equal to the Logical Block Address specified in the Command Descriptor Block. This reported Logical Block Address is the last block prior to a cylinder boundary. RelAdr (Relative Address) This function is not supported by drives described in this manual. 180 Service Action 10h The Service Action In service action for the Read Capacity (16) command. In response to the Read Capacity (16) command, the drive returns 12 bytes of Read Capacity data to the host. The contents of the 12 bytes are listed in Table 181. Table 181: Read Capacity data Byte 276 Description 0 Logical Block Address (MSB) 1 Logical Block Address 2 Logical Block Address 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address 6 Logical Block Address 7 Logical Block Address (LSB) 8 Block Length (MSB) 9 Block Length 10 Block Length 11 Block Length (LSB) Fibre Channel Interface Manual, Rev. D 12.28 Read Defect Data (10) command 37h The Read Defect Data command requests that the target transfer the medium defect data to the initiator. If the drive is unable to access any medium defect data, it terminates the command with Check Condition status. The sense key is set to either Medium Error if a medium error occurred or No Sense if the list does not exist and the additional sense code is set to Defect List Not Found. This command is implemented with the disc drive specific parameters listed in Table 182. Table 182: Read Defect Data command (37h) Bit 7 6 5 4 3 2 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 G 1 0 0 or 1 0 1 Byte Reserved 2 0 0 0 P CDB Defect List Format Table number 182 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 7 Allocation Length (MSB) 8 Allocation Length (LSB) 9 Control Field definitions (listed alphabetically) Allocation Length The number of bytes the initiator has allocated for the returned defect data. An Allocation Length of zero indicates that no Read Defect Data is transferred. Any other value indicates the maximum number of bytes to be transferred. The disc drive terminates the Data In phase when the Allocation Length bytes have been transferred or when all available defect data has been transferred to the initiator, whichever is less. 182 CDB (Command Descriptor Block) The disc drive interprets the P and G bits (bits 4 and 3 of byte 2 of the CDB) as follows: 182 Bit P Bit G Interpretation 0 0 Return Defect List header only. Target returns only the defect list header. 0 1 Return the growth “G” list only. This list reflects the grown or “G” list as defined in Section 12.5. 1 0 Return the manufacturer’s original ETF list only. This list reflects the manufacturer’s original ETF list. These defects may or may not have been reallocated, depending on the last Format command received (the last format may or may not have requested the P list flaws be reallocated during the format function). 1 1 Return all lists. The returned list contains all of the requested drive’s defect lists (i.e., P, G, C, and D) regardless of whether these lists have been reallocated by the drive. Control See Section 11.2.1.6. Fibre Channel Interface Manual, Rev. D 277 182 Defect List Format Bits 2, 1, 0 in the CDB should be 1 0 0, respectively, to signify a defect list in the Bytes from Index format, or 1 0 1, respectively, to signify a defect list in the Physical Sector format. If neither of these two, the disc drive responds with the defect list in the drive’s default format (physical sector) and creates the Check Condition status with Recovered Error sense key (1h) and additional sense error code (1C) at the end of the Read Defect Data transfer. This command is intended to be used only with the Format Unit command (Section 12.5). The initiator should not interpret or act upon this list except to resend this list as defect data in a Format Unit command. It is not possible to relate actual physical locations to logical block addresses that are given in connection with other commands. The format Defect Data header and Defect Data Descriptor bytes returned are shown in Table 183. The first four bytes returned are the Defect List header. The P bit, G bit, and Defect List Format fields indicate the defect format actually returned by the disc drive. The definitions are the same as for byte 2 of the Read Defect Data Command Descriptor Block (Table 182). The Defect List Length specifies the total length (in bytes) of all the defect descriptors available from the disc drive. If the Allocation Length of the CDB is too small to transfer all of the defect descriptors, the Defect List Length is not adjusted to reflect the truncation. The drive does not create the Check Condition status. The Defect Descriptors are not required to be in ascending order. 278 Fibre Channel Interface Manual, Rev. D Table 183: Defect List Header description Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 G 1 0 0 or 1 0 1 Byte 0 Reserved 1 0 0 0 Reserved P CDB Defect List Format Table number 183 2 Defect List Length (MSB) (Value is 8 times the number of defects) 3 Defect List Length (LSB) 4–n Defect Descriptor Bytes Field definitions (listed alphabetically) CDB (Command Descriptor Block) The disc drive interprets the P and G bits (bits 4 and 3 of byte 2 of the CDB) as follows: 183 183 Bit P Bit G Interpretation 0 0 Return Defect List header only. Target returns only the defect list header. 0 1 Return the growth “G” list only. This list reflects the grown or “G” list as defined in Section 12.5. 1 0 Return the manufacturer’s original ETF list only. This list reflects the manufacturer’s original ETF list. These defects may or may not have been reallocated, depending on the last Format command received (the last format may or may not have requested the P list flaws be reallocated during the format function). 1 1 Return all lists. The returned list contains all of the requested drive’s defect lists (i.e., P, G, C, and D) regardless of whether these lists have been reallocated by the drive. Defect List Format 100 A list in the Bytes from Index format. 101 A list in the Physical Sector format. Defect List Length and Defect Descriptor Bytes If the P and G bits are 0 0, the Defect List Length will be 0 and no Defect Descriptor bytes are sent to the initiator. See Tables 102 and 103 for the format of Defect Descriptor bytes. Fibre Channel Interface Manual, Rev. D 279 12.29 Read Defect Data (12) command B7h The Read Defect Data (12) command requests that the target transfer the medium defect data to the initiator. If the logical unit is reserved, a reservation conflict occurs when a Read Defect Data (12) command is received from an initiator other than the one holding a logical unit reservation. This command is rejected with Reservation Conflict status if the reservation conflict is due to a logical unit reservation. Read Defect Data (12) commands with a reservation conflict are terminated with Reservation Conflict status. The Read Defect Data (12) command is not evaluated for extent reservation conflicts. For example, extent reservations do not conflict with the Read Defect Data (12) command. This command is implemented with the disc drive specific parameters listed in Table 184. Table 184: Read Defect Data (12) command (B7h) Bit 7 6 5 4 3 2 1 0 1 0 1 1 0 1 1 1 P List G List Byte 0 1 Reserved 2 Reserved 3 Reserved 4 Reserved 5 Reserved 6 Defect List Format MSB 7 Allocation Length 8 9 Table number 184 LSB 10 Reserved 11 Control Field definitions (listed alphabetically) Allocation Length The number of bytes the initiator has allocated for the returned defect data. An Allocation Length of zero indicates that no Read Defect Data is transferred. Any other value indicates the maximum number of bytes to be transferred. The disc drive terminates the Data In phase when the Allocation Length bytes have been transferred or when all available defect data has been transferred to the initiator, whichever is less. 184 Control See Section 11.2.1.6. 184 Defect List Format Bits 2, 1, 0 in the CDB should be 1 0 0, respectively, to signify a defect list in the Bytes from Index format, or 1 0 1, respectively, to signify a defect list in the Physical Sector format. If neither of these two, the disc drive responds with the defect list in the drive’s default format (physical sector) and creates the Check Condition status with Recovered Error sense key (1h) and additional sense error code (1C) at the end of the Read Defect Data transfer. 184 P List and G List bits The disc drive interprets the P and G bits as follows: Bit P Bit G Interpretation 0 0 Return Defect List header only. Target returns only the defect list header. 0 1 Return the growth “G” list only. This list reflects the grown or “G” list as defined in Section 12.5. 280 Fibre Channel Interface Manual, Rev. D 1 0 Return the manufacturer’s original ETF list only. This list reflects the manufacturer’s original ETF list. These defects may or may not have been reallocated, depending on the last Format command received (the last format may or may not have requested the P list flaws be reallocated during the format function). 1 1 Return all lists. The returned list contains all of the requested drive’s defect lists (i.e., P, G, C, and D) regardless of whether these lists have been reallocated by the drive. This command is intended to be used only with the Format Unit command (Section 12.5). The initiator should not interpret or act upon this list except to resend this list as defect data in a Format Unit command. It is not possible to relate actual physical locations to logical block addresses that are given in connection with other commands. The format Defect Data header and Defect Data Descriptor bytes returned are shown in Table 183. The first four bytes returned are the Defect List header. The P bit, G bit, and Defect List Format fields indicate the defect format actually returned by the disc drive. The definitions are the same as for byte 2 of the Read Defect Data Command Descriptor Block (Table 182). The Defect List Length specifies the total length (in bytes) of all the defect descriptors available from the disc drive. If the Allocation Length of the CDB is too small to transfer all of the defect descriptors, the Defect List Length is not adjusted to reflect the truncation. The drive does not create the Check Condition status. The Defect Descriptors are not required to be in ascending order. Fibre Channel Interface Manual, Rev. D 281 Table 185: Defect List (12) Header description Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 G 1 0 0 or 1 0 1 Byte 0 Reserved 1 0 0 0 Reserved P CDB Defect List Format 2 Reserved 3 Reserved 4 (MSB) 5 Defect List Length 6 7 (LSB) 0–n Table number 185 Defect Descriptor Bytes Field definitions (listed alphabetically) CDB (Command Descriptor Block) The disc drive interprets the P and G bits (bits 4 and 3 of byte 2 of the CDB) as follows: 185 185 Bit P Bit G Interpretation 0 0 Return Defect List header only. Target returns only the defect list header. 0 1 Return the growth “G” list only. This list reflects the grown or “G” list as defined in Section 12.5. 1 0 Return the manufacturer’s original ETF list only. This list reflects the manufacturer’s original ETF list. These defects may or may not have been reallocated, depending on the last Format command received (the last format may or may not have requested the P list flaws be reallocated during the format function). 1 1 Return all lists. The returned list contains all of the requested drive’s defect lists (i.e., P, G, C, and D) regardless of whether these lists have been reallocated by the drive. Defect List Format 100 A list in the Bytes from Index format. 101 A list in the Physical Sector format. Defect List Length and Defect Descriptor Bytes If the P and G bits are 0 0, the Defect List Length will be 0 and no Defect Descriptor bytes are sent to the initiator. See Tables 102 and 103 for the format of Defect Descriptor bytes. 282 Fibre Channel Interface Manual, Rev. D 12.30 Read Element Status command B4h Not implemented. If the drive receives this command, a Check Condition status is sent. Fibre Channel Interface Manual, Rev. D 283 12.31 Read Long command 3Eh The Read Long command requests that the target transfer data to the initiator. The data passed during the Read Long command shall include the data bytes and the ECC bytes recorded on the medium. The most recent data written, or to be written, in the addressed logical block shall be returned. Read Long is independent of the Read-Write Error Recovery mode page but does allow retries. Table 186: Read Long command (3Eh) Bit 7 6 5 4 3 2 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 CORRECT RelAdr 0 0 0 0 0 0 Byte 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Table number 186 0 0 7 Byte Transfer Length (MSB) 8 Byte Transfer Length (LSB) 9 Control Field definitions (listed alphabetically) Byte Transfer Length The number of bytes of data that will be transferred. A transfer length of zero indicates that no bytes are transferred. This condition is not considered an error. The byte transfer length requested must be equal to the current block size plus all ECC bytes for a data transfer to occur. If an incorrect number of bytes is stated in the command block, this command terminates with a Check Condition status. The correct number of bytes can be determined from the information returned in the extended sense data bytes after issuing the Request Sense command. The Request Sense command results in the Illegal Field In CDB condition with the Illegal Request sense key. The extended sense ILI bit is set. The extended sense information bytes contain the difference (residue) of the requested length minus the actual length (in bytes). (Negative values are indicated by two’s complement notation.) 186 Control See Control Bytes in Section 11.2.1.6. 186 CORRECT (Corrected) 0 A logical block will be read without any correction made by the target. 1 The data will be corrected by ECC, if necessary, before being transferred to the initiator. If the DCR bit of the Read-Write Error Recovery page is equal to 1 and the CORRCT bit equals 1, the Read Long command terminates with Check Condition status and the sense key is set to Illegal Request with an additional sense code of Invalid Field in CDB. 186 Logical Block Address The logical block at which the read operation will occur. The most recent data written in the addressed logical block is returned. 186 RelAdr (Relative Address) This function is not supported by drives described in this manual. 284 Fibre Channel Interface Manual, Rev. D 12.32 Reassign Blocks command 07h The Reassign Blocks command requests the target to reassign the defective logical blocks to an area on the logical unit reserved for this purpose. After sending the Reassign Blocks command, the initiator transfers a defect list that contains the logical block addresses to be reassigned. The disc drive reassigns the physical medium used for each logical block address in the list. The data contained in the logical blocks specified in the defect list is not preserved, but the data in all other logical blocks on the medium is preserved. It is recommended that the initiator recover the data from the logical blocks to be reassigned before issuing this command. After completion of this command, the initiator can write the recovered data to the same logical block addresses. The effect of specifying a logical block to be reassigned that has previously been reassigned is to reassign the block again. Thus, over the life of the medium, a logical block can be assigned to multiple physical addresses (until no more spare locations remain on the medium). This command should be used by an initiator to immediately reallocate any block (sector) which requires the disc drive to recover data by data correction via ECC if the automatic reallocation feature of the disc drive is not enabled, see Mode Select command (Section 12.11). Table 187: Reassign Blocks command (07h) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 Table number 187 Control Field definitions (listed alphabetically) Control See Control Byte in Section 11.2.1.6. Fibre Channel Interface Manual, Rev. D 285 Reassign Blocks defect list The Reassign Blocks defect list contains a four-byte header followed by one or more defect descriptors. The length of each defect descriptor is four bytes. If the logical unit has insufficient capacity to reassign all of the defective logical blocks, the command terminates with a Check Condition status and the sense key is set to Hardware Error and the additional sense code set to No Defect Spare Location Available. The logical block address of the first logical block not reassigned is returned in the information bytes of the sense data. If information about the first defect descriptor not reassigned is not available, or if all the defects have been reassigned, this field is set to FFFFFFFFh. If the Reassign Blocks command failed due to an unexpected unrecoverable read error that would cause the loss of data in a block not specified in the defect list, the logical block address of the unrecoverable block is returned in the information field of the sense data and the valid bit is set to one. Implementor’s Note: If the Reassign Blocks command returns Check Condition status and the sense data command-specific information field contains a valid logical block address, the initiator removes all defect descriptors from the defect list prior to the one returned in the command-specific information field. If the sense key is Medium Error and the valid bit is one (the information field contains the valid block address) the initiator inserts that new defective logical block address into the defect list and reissues the Reassign Blocks command with the new defect list. Otherwise, the initiator performs any corrective action indicated by the sense data and then reissues the Reassign Blocks command with the new defect list. Table 188: Reassign Blocks defect list Bit 7 6 5 4 3 2 1 0 Byte Defect list header 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 Defect List Length (MSB) 3 Defect List Length (LSB) Defect descriptors Table number 188 0 Defect logical block address (MSB) 1 Defect logical block address 2 Defect logical block address 3 Defect logical block address (LSB) Field definitions (listed alphabetically) Defect Logical Block Address Specifies a four-byte defect logical block address that contains the defect. The defect descriptors are in ascending order. 188 Defect List Length The total length (in bytes) of the defect descriptors that follow. The Defect List Length is equal to four times the number of defect descriptors. 286 Fibre Channel Interface Manual, Rev. D 12.33 Receive Diagnostic Results command 1Ch The Receive Diagnostic Results command requests analysis data after completion of a Send Diagnostic command or SCSI-3 Enclosure Services (SES) pages be sent to the initiator. The disc drive supports the optional Page format, wherein the initiator sends additional pages after a Send Diagnostic command. These additional pages have a page code that specifies to the disc drive the format of the data to be returned after it receives a Receive Diagnostic Results command. If the Send Diagnostic command requested either page 00h or page 40h (the only two optional, non-ESI-, pages supported by the disc drive), data returned is in the format shown in Table 191 or 194, respectively. If the Send Diagnostic Self Test bit is set, the data returned is described in Table 197. If the Send Diagnostic command requested the Supported Diagnostic Pages list (PF bit = 1), the disc drive returns data in the format shown in Table 191 after receiving the Receive Diagnostic Results command. It lists all of the diagnostic pages supported by the disc drive. If the Receive Diagnostic command is sent with the PCV bit set to a 1, the drive sends back the page selected by the Page Code field (see Table 190). It is not necessary to have first issued a Send Diagnostic command to receive these pages. Table 189: Receive Diagnostic Results command (1Ch) Bit 7 6 5 4 3 2 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 Byte PCV Reserved Table number 189 2 Page Code 3 Allocation Length (in bytes) (MSB) 4 Allocation Length (in bytes) (LSB) 5 Control Field definitions (listed alphabetically) Allocation Length The number of bytes the initiator has allocated for returned data. 0 No data is transferred. Any other value indicates the maximum number of bytes that will be transferred. The disc drive terminates the data transfer when allocation length bytes have been transferred or when all available data has been transferred to the initiator, whichever is less. 189 Control See Control Bytes in Section 11.2.1.6. Fibre Channel Interface Manual, Rev. D 287 189 Page Code The Page Code number of the Diagnostic page to be received. See Table 190 for page code numbers and descriptions. Table 190: Receive Diagnostics page code descriptions 189 Page Code Description Reference Table 00h List of Supported Diagnostic Pages 191 01h - 0Fh SCSI Enclosure Services Pages 193 40h Address Translation Page 194 none Default Self Test Diagnostic Results 197 PCV (Page Code Valid) 0 The Page Code is ignored. The data received is the page of data prepared by the drive as the result of the most recently completed Send Diagnostic command. This data could also be the Self Test Diagnostic results which has no Page Code number, but is described in Table 197. 1 The Page Code in the Page Code field is valid. The contents of the Page Code field defines the data returned by this command. Table 191: Supported Diagnostic Pages format Bit Byte 7 0 Page Code (00h) 1 Reserved 2 (MSB) 6 5 4 3 2 1 0 Page Length (n–3) 3 4 : n Table number 191 Page Code Provides the supported diagnostic pages information for the drive. Page Length n-3 191 Supported Page List Field definitions (listed alphabetically) 00h 191 (LSB) The length (in bytes) of the Supported Diagnostic page. Supported Page List A list of all diagnostic page codes implemented by the disc drive in ascending order beginning with page code 00h. The disc drive presently supports the pages listed in Table 192. Table 192: Supported Send Diagnostic pages Page Code Description Reference 00h Supported Diagnostic pages Table 191 01h - 0Fh SCSI Enclosure Services Information (ESI) pages Table 193 40h Translate Address page Table 194 288 Fibre Channel Interface Manual, Rev. D Enclosure Services Information (ESI) The drives supported by the manual do not process the contents of the SCSI Enclosure Service (SES) pages. The drive attempts to transfer the page contents to or from the enclosure using the Enclosure Services Interface (ESI) as directed by the command. Errors detected in the transfer are returned to the initiator in response to the command. See ANSI document X3T10 NCITS 305-199x regarding the SCSI-3 Enclosure Services Command Set (SES) for descriptions of the data presented in the SES pages. Table 193: SCSI Enclosure Services Information (ESI) page format Bit 7 6 5 4 3 2 1 0 Byte 0 Page Code (01h - 0Fh) 1 Page Specific 2 (MSB) Page Length (n - 3) 3 n Table number 193 (LSB) Page Specific Field Definitions (listed alphabetically) Page Code 01h - 0Fh Enclosure Services Information (ESI) pages. 193 Page Length n-3 193 Page Specific Content defined in the SCSI-3 Enclosure Services (SES) standard. Fibre Channel Interface Manual, Rev. D 289 Translate Address page The Translate Address page allows the initiator to translate a logical block address into a physical sector address or a physical sector address to a logical block address. The address to be translated is passed to the target during the data transfer associated with the Send Diagnostic command and the results are returned to the initiator during the Data In phase following the Receive Diagnostic Results command. The translated address is returned in Translate Address page–Receive Diagnostic. Table 194: Translate Address page–Receive Diagnostic Bit Byte 7 6 0 Page Code (40h) 1 Reserved 2 (MSB) 5 4 3 2 1 0 Page Length (000Ah) 3 (LSB) 4 Reserved 5 RAREA 6 : 13 Table number 194 194 194 ALTTRK Rsvd Rsvd Translated Format Translated Address (see Tables 195 and 196) Field definitions (listed alphabetically) ALTSEC (Alternate Sector) 1 The translated address is physically located in an alternate sector of the medium. If the disc drive cannot determine if all or part of the translated address is located in an alternate sector it sets this bit to zero. 0 No part of the translated address is located in an alternate sector of the medium or that the disc drive is unable to determine this information. ALTTRK (Alternate Track) 1 All or part of the translated address is located on an alternate track of the medium or the disc drive cannot determine if all or part of the translated address is located on an alternate track. 0 No part of the translated address is located on an alternate track of the medium. Page Code 40h 194 ALTSEC Supplied Format Translate Address page–Receive Diagnostic page code. Page Length 000Ah The length (in bytes) of the Translate Address–Receive Diagnostic page. If the allocation length is too small to transfer all of the page, the page length is not adjusted to reflect the truncation. 194 194 RAREA (Reserved Area) 1 All or part of the translated address falls within a reserved area of the medium (e.g. speed tolerance gap, alternate sector, vendor reserved area, etc.). If the entire translated address falls within a reserved area the target may not return a translated address. 0 No part of the translated address falls within a reserved area of the medium. Supplied Format The value from the Send Diagnostic command supplied format field (see Table 209). 194 Translated Address The address the target translated from the address supplied by the initiator in the Send Diagnostic command. This field is in the format specified in the translate format field. The supported formats are shown in Tables 195 and 196. 290 Fibre Channel Interface Manual, Rev. D 194 Translated Format The value from the Send Diagnostic command translate format field (see Table 209). The values are 000 (Logical block format) or 101 (Physical sector address format). Table 195: Address field logical block address format Bit Byte 7 0 6 5 4 3 2 1 0 (MSB) 1 Logical Block Address 2 3 Table number 195 (LSB) 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 3 2 1 0 Field definitions (listed alphabetically) Logical Block Address The 32-bit address of the logical block. Table 196: Address field physical sector address format Bit Byte 7 0 6 Cylinder Number 2 196 4 (MSB) 1 Table number 5 (LSB) 3 Head Number 4 5 6 7 Sector Number Field definitions (listed alphabetically) Cylinder Number This field contains the drive cylinder number. 196 Head Number This field contains the drive head number. 196 Sector Number This field contains the drive sector number. Fibre Channel Interface Manual, Rev. D 291 Table 197: Default self-test diagnostic data bytes Bit Byte 0 7 6 5 4 3 2 1 0 (MSB) Additional Length 1 (LSB) 2 FRU Code (most probable) 3 FRU Code 4 FRU Code 5 FRU Code (least probable) 6 (MSB) Error Code 7 (LSB) 8-n Table number 197 Additional Vendor-Unique Fault Information Field definitions (listed alphabetically) Additional Length This 2-bytes value indicates the number of additional bytes included in the diagnostic data list. For example, if no productunique byte (byte 7) is available, this value would be 0006h. 000h There are no additional bytes. The most significant byte (MSB) is typically 000h or 0006h. The least significant byte (LSB) is typically 02AEh or nnnnh. 197 Additional Vendor-Unique Fault Information Vendor-unique data. 197 FRU Code (Field Replaceable Unit Code) These bytes identify an assembly that may have failed. The codes will be listed in probability order, with the most probable assembly listed first and the least probable listed last. 197 00h There is no FRU information. Seagate drives return this value in these bytes. 01h The entire unit should be replaced. Error Code This value designates which part of a diagnostic operation has failed. These bytes are vendor-unique. 0081h Buffer RAM diagnostic error. 00C1h Data miscompare while doing drive diagnostics. 292 Fibre Channel Interface Manual, Rev. D 12.34 Release (6) command 17h Obsolete. If the drive receives this command, a Check Condition status is sent. 12.35 Release (10) command 57h Obsolete. If the drive receives this command, a Check Condition status is sent. Fibre Channel Interface Manual, Rev. D 293 12.36 Report Device Identifier command A3h The Report Device Identifier command (see Table 198) requests that the drive send device identification information to the initiator. Table 198: Report Device Identifier command (A4h) Bit 7 6 5 4 3 2 1 0 Byte Operation Code (A3h) 0 1 Reserved 2 Reserved 3 Reserved 4 Reserved 5 Reserved 6 (MSB) Service Action (05h) 7 Allocation Length 8 9 Table number 198 (LSB) 10 Reserved 11 Control Field definitions (listed alphabetically) Allocation Length This field indicates how much space has been reserved for the returned parameter data. If the length is not sufficient to contain all the parameter data, the first portion of the data is returned. This is not considered an error. The actual length of the parameter data is available in the Identifier Length field in the parameter data. If the remainder of the parameter data is required, the initiator should send a new Report Device Identifier command with an Allocation Length field large enough to contain all the data. 198 Control See Section 11.2.1.6. 198 Operation Code A3h 198 The operation code for the Report Device Identifier command. Service Action 05h As defined in the SCC-2 standard (SCSI Controller Command set T10/1225), the Report Device Identifier command is the Report Peripheral Device/Component Device Identifier service action of the Maintenance In command (also Op. code A3h, but for initiators). Additional Maintenance In service actions (that apply to SCC-2 devices and devices that set the SCCS bit in their Standard Inquiry data) are defined in SCC-2, Section 6.3. The data returned from this command is formatted as described in the Report Device Identifier parameter list (see Table 199). 294 Fibre Channel Interface Manual, Rev. D Report Device Identifier Parameter List This list contains the length (in bytes) of the parameter list and the logical unit’s identifier. The execution of a Report Device Identifier command may require you to enable nonvolatile memory within the logical unit. If the nonvolatile memory is not ready, the device server returns Check Condition status rather than wait for the device to become ready. The sense key is set to Not Ready and the additional sense data is set as described in the Test Unit Ready command. This information should allow the application client to determine the action required to cause the device server to become ready. Table 199: Report Device Identifier parameter list Bit 7 6 5 4 3 2 1 0 Byte 0 (MSB) 1 Identifier Length (n - 4) 2 3 4 : n Table number 199 (LSB) Identifier Field definitions (listed alphabetically) Identifier This field contains a vendor-specific value. The value reported is the last value written by a successful Set Device Identifier command. The value of the identifier is changed only by a Set Device Identifier command. The identifier value persists through resets, power cycles, media format operations, and media replacement. The target returns the same identifier to all initiators on all ports. 199 Identifier Length This field specifies the length (in bytes) of the Identifier field. If the Allocation Length field in the CDB is too small to transfer all of the identifier, the length is not adjusted to reflect the truncation. The identifier length is initially equal to zero and is changed only by a successful Set Device Identifier command. Fibre Channel Interface Manual, Rev. D 295 12.37 Report LUNs command A0h The Report LUNs command requests that the peripheral device logical unit numbers of known logical units in the target be sent to the application client. The Report LUNs command returns information about only those logical units to which commands may be sent. When the HiSupport bit is one (see Table 105, Disc drive inquiry data format), the device server supports the Report LUNs command. A SCSI device that is capable of supporting a LUN address other than zero should support the Report LUNs command on logical unit zero. The Report LUNs command is not affected by reservations or persistent reservations. Table 200: Report LUNs command (A0h) Bit 7 6 5 4 3 2 1 0 1 0 1 0 0 0 0 0 Byte 0 1 Reserved 2 Reserved 3 Reserved 4 Reserved 5 Reserved 6 (MSB) 7 Allocation Length 8 9 Table number 200 (LSB) 10 Reserved 11 Control Field definitions (listed alphabetically) Allocation Length The Allocation Length shall be at least 16 bytes. If the Allocation Length is less than 16 bytes, the device server shall return Check Condition status. The sense key shall be set to Illegal Request and the additional sense data shall be set to Invalid Field in CDB. The Allocation Length is not sufficient to contain the Logical Unit Number values for all configured logical units, the device server shall report as many Logical Unit Number values as will fit in the specified Allocation Length. This shall not be considered an error. The allocation length in byte four of the format shown specifies the number of bytes the initiator has allocated for returned sense data. The allocation length should always be at least 18 bytes for disc drive devices for the initiator to receive all of the disc drive sense data. Any other value indicates the maximum number of bytes that will be transferred. 200 Control See Control Bytes in Section 11.2.1.6. 296 Fibre Channel Interface Manual, Rev. D The device server shall report the Logical Unit Numbers of configured logical units using the format shown in Table 201. Table 201: Report LUNs parameter list format Bit 7 6 5 4 3 2 1 0 Byte 0 (MSB) LUN List Length (n-7) 3 4 (LSB) (MSB) Reserved 7 (LSB) LUN List 8 (MSB) First LUN 15 (LSB) . . . n–7 (MSB) Last LUN n Table number 201 (LSB) Field definitions (listed alphabetically) LUN List Length The LUN List Length field contains the length in bytes of the LUN list that is available to be transferred. The LUN List Length is the number of logical unit numbers reported multiplied by eight. If the allocation length in the command descriptor block is too small to transfer information about all configured logical units, the LUN List Length value is not adjusted to reflect the truncation. Fibre Channel Interface Manual, Rev. D 297 12.38 Request Sense command 03h The Request Sense command requests that the disc drive transfer sense data to the initiator in the format shown in Table 202. The sense data is valid after a Check Condition status returned on the prior command. Sense data is returned in the Fibre Channel Protocol Response frame with the Check Condition bypassing the need for the Request Sense command. Sense data must be cleared upon execution of any subsequent command. For Fibre Channel, data returned in response to a Request Sense command is only valid if commands are not queued in the drive. If a disc drive sends a Check Condition status as a response to a Request Sense command being in error, it will do so only if the error was a fatal error. For example: 1. The disc drive receives a nonzero reserved bit in the command descriptor block. 2. A disc drive malfunction prevents return of sense data. If any nonfatal error occurs during execution of Request Sense, the disc drive returns sense data with Good status. Following a fatal error on a Request Sense command, sense data may be invalid. The disc drive terminates the data when the number of bytes indicated in the Allocation Length field have been transferred or when all available sense data have been transferred to the initiator, whichever is less. The disc drive always returns sense data in the extended sense data format shown in Section 11.5.1. Table 202: Request Sense command (03h) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 Reserved Table number 202 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 Allocation Length (in bytes) 5 Control Field definitions (listed alphabetically) Allocation Length The allocation length in byte four of the format shown specifies the number of bytes the initiator has allocated for returned sense data. The allocation length should always be at least 18 bytes for disc drive devices for the initiator to receive all of the disc drive sense data. Any other value indicates the maximum number of bytes that will be transferred. 202 Control See Control Bytes in Section 11.2.1.6. 298 Fibre Channel Interface Manual, Rev. D 12.39 Reserve (6) command 16h Obsolete. If the drive receives this command, a Check Condition status is sent. 12.40 Reserve (10) command 56h Obsolete. If the drive receives this command, a Check Condition status is sent. Fibre Channel Interface Manual, Rev. D 299 12.40.1 Logical unit reservation When the Extent bit is zero, this command requests the entire disc drive to be reserved for exclusive use of the initiator until the reservation is superseded by another valid Reserve command from the initiator that made the reservation, released by a Release command from the same initiator, by a LIP Reset from any initiator, or be a hard Reset condition. A logical unit reservation is not granted if the logical unit is reserved by another initiator. It is permissible for an initiator to reserve a logical unit that is currently reserved by the initiator. If the Extent bit is zero (0), the Reservation Identification and the Extent List Length are ignored. If the Extent bit is a 1, the disc drive generates Check Condition status and sets the sense key to Illegal Request. If, after honoring the reservation, any other initiator subsequently attempts to perform a command other than a Release command (which will be ignored), or an Inquiry command (which will be executed), or a Request Sense command (which will be executed), the command is rejected with Reservation Conflict status. 12.40.2 Third-party reservation The third-party reservation option of the Reserve command allows an initiator to reserve a logical unit for another SCSI device. If the drive supports the third-party Reserve command, the disc drive also implements the third-party Release option (see Section 12.35). This feature is intended for use in multiple-initiator systems that use the Copy command. If the third-party (3rdPty) bit is zero (0), the third-party reservation option is not requested. If the 3rdPty bit is one, the Reserve command reserves the specified logical unit for the SCSI device specified in the parameter list. The disc drive preserves the reservation until it is superseded by another valid Reserve command from the initiator which made the reservation or until it is released by the same initiator, by a LIP Reset from any initiator, or a hard Reset condition. The disc drive ignores any attempt to release the reservation made by any other initiator. 12.40.3 Superseding reservations An initiator which holds a current reservation may modify that reservation by issuing another Reserve command to the same logical unit. The superseding Reserve command releases the previous reservation state when the new reservation request is granted. The previous reservation is not modified if the new reservation request cannot be granted. 300 Fibre Channel Interface Manual, Rev. D 12.40.4 Parameter list format for third-party addressing The parameter list for the ten-byte Reserve and Release commands. Third-party addressing is eight bytes in length. The following table defines the format for the parameter list. Table 203: Parameter list format for third-party addressing Bit Byte 7 6 0 1 5 4 3 2 Reserved 0 PA_VAL (MSB) 2 FCP_Port Identifier 3 4 1 (LSB) (MSB) 5 6 Process Associator 7 Table number 203 (LSB) Field definitions (listed alphabetically) FCP_Port Identifier (Fibre Channel Protocol Port Identifier) Bytes 1–3, the 24-bit address used in the D_ID and S_ID fields of the Fibre Channel frame header. 203 PA_VAL (Process Associator Valid) The disc drive does not support process associators and requires this bit to be zero (0). This field indicates whether the Process Associator field (bytes 4–7) is valid. 203 Process Associator Not supported and not checked. Fibre Channel Interface Manual, Rev. D 301 12.41 Rezero Unit command 01h Obsolete. If the drive receives this command, a Check Condition status is sent. 12.42 Search Data Equal command 31h Obsolete. If the drive receives this command, a Check Condition status is sent. 12.43 Search Data High command 30h Obsolete. If the drive receives this command, a Check Condition status is sent. 12.44 Search Data Low command 32h Obsolete. If the drive receives this command, a Check Condition status is sent. 12.45 Seek (6) command 0Bh Obsolete. If the drive receives this command, a Check Condition status is sent. 302 Fibre Channel Interface Manual, Rev. D 12.46 Seek (10) command 2Bh The Seek (10) command requests that the disc drive seek to the specified Logical Block Address. This command is implemented with the disc drive specific parameters listed in Table 204. Table 204: Seek (10) command (2Bh) Bit 7 6 5 4 3 2 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 Byte Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 9 Table number 204 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 204 Logical Block Address This command operates the same as the Seek command (Section 12.45) except that a four-byte Logical Block Address is specified. Fibre Channel Interface Manual, Rev. D 303 12.47 Send Diagnostic command 1Dh This command requests that the disc drive perform diagnostic tests on itself, or perform other optional operations. Table 205 shows the format of the Send Diagnostic command as implemented by the disc drive. When the Self Test bit is zero, this command is usually followed by a Receive Diagnostic Results command and a subsequent data transfer that returns data to the initiator. Using this latter procedure of Send Diagnostic/ Receive Diagnostic Results commands the initiator can ask the drive to return a list of optional operations it supports (see Table 208) and then request a supported additional operation. The disc drive supports the pages listed in Table 192 (see page 288). For systems which support disconnection, the disc drive will disconnect while executing this command. Table 205: Send Diagnostic command (1Dh) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 1 1 1 0 1 PF Rsvd Self-Test DEVOFL Unit OFL 1 Self-Test Code 2 Reserved 3 (MSB) Parameter List Length 4 (LSB) Control 5 Table number 205 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 205 DEVOFL (SCSI Device Off Line) 1 205 Enables diagnostic operations that may adversely affect operations to other Logic Units on the same target. This bit is not interpreted by the disc drive. Parameter List Length The length (in bytes) of the parameter list that is transferred during the data transfer. The disc drive presently supports the pages listed in Table 206. If the initiator transfers more bytes than the disc drive supports, the disc drive rejects the command. 00h No additional parameter pages to be sent with this command (this is not considered an error). 04h The length value sent when the initiator sends Page 00h (see Table 208). 06h The value sent from page A0h (see Table 210). 0Eh The value sent from Page 40h is sent (see Table 209). 304 Fibre Channel Interface Manual, Rev. D Table 206: Supported Send Diagnostic pages Table number Page Code Description Reference 00h Supported Diagnostic pages Table 208 01h - 0Fh SCSI Enclosure Services Information (ESI) pages Table 207 40h Translate Address page Table 209 Field definitions (listed alphabetically) 206 Enclosure Services Information (ESI) The drives supported by the manual do not process the contents of the SCSI Enclosure Service (SES) pages. The drive attempts to transfer the page contents to or from the enclosure using the Enclosure Services Interface (ESI) as directed by the command. Errors detected in the transfer are returned to the initiator in response to the command. See ANSI document X3T10 NCITS 305-199x regarding the SCSI-3 Enclosure Services Command Set (SES) for descriptions of the data presented in the SES pages. Table 207: SCSI Enclosure Services Information (ESI) page format Bit 7 6 5 4 3 2 1 0 Byte 0 Page Code (01h - 0Fh) 1 Page Specific 2 (MSB) Page Length (n - 3) 3 (LSB) n Table number Page Specific Field Definitions (listed alphabetically) 207 Page Code 01h - 0Fh 207 Enclosure Services Information (ESI) pages. Page Length n-3 207 Page Specific Content defined in the SCSI-3 Enclosure Services (SES) standard. Table number 205 Field Definitions (listed alphabetically) PF (Page Format) 1 205 The data returned by the subsequent Receive Diagnostic Results command use the diagnostic page format described in the ANSI SCSI-2 specification. PF needs to be on, set to 1, for ESI pages 01h through 0Fh and requires no subsequent Receive Diagnostic command. Further, ESI requests for page 01h through 0Fh are sent without any prior Send Diagnostic request. See Tables 208 and 209 which show formats of the two pages supported by disc drive. Self-Test 0 Requests that the device server perform the Device Self-Test operation specified by the Self-Test Code field or in the parameter list. The diagnostic operation might or might not require the device server to return parameter data that contains diagnostic results. If the return of parameter data is not required, the return of Good status indicates successful completion of the diagnostic operation. If the return of parameter data is required, the device server either: - performs the requested diagnostic operation, prepare the parameter data to be returned and indicate completion by returning Good status. The application client issues a Receive Diagnostic Results command to recover the parameter data; or Fibre Channel Interface Manual, Rev. D 305 - accept the parameter list, and if no errors are detected in the parameter list, return Good status. The requested diagnostic operation and the preparation of the parameter data to be returned are performed upon receipt of a Receive Diagnostic Results command. 1 205 205 Directs the device server to complete the target’s Default Self-Test. If the test passes successfully, the command is terminated with Good status; otherwise, the command is terminated with Check Condition status and the sense key is set to Hardware Error. Self-Test Code 1 The Self-Test Code field shall contain 000b. 0 The contents of the Self-Test Code field are as specified below: Value Function name Description 000b N/A This value is used when the Self Test bit is 1 or if one of the other supported diagnostic pages is being transferred. 001b Background Short Self-Test The device server starts its short self-test (see Section 13.2.2) in the background mode (see Section 13.2.3.2). The Parameter List Length field contains 0. 010b Background Extended Self-Test The device server starts its extended self-test (see Section 13.2.2) in the background mode (see Section 13.2.3.2). The Parameter List Length field contains 0. 011b Reserved. 100b Abort Background Self-Test The device server aborts the current self-test running in background mode. The Parameter List Length field contains 0. This value is only valid if a previous Send Diagnostic command specified a background self-test function and that self-test has not completed. If either of these conditions is not met, the device server returns a Check Condition status with a Sense Key of Illegal Request and an Additional Sense Code of Invalid Field in CDB. 101b Foreground Short Self-Test Not supported. 110b Foreground Extended Not supported. Self-Test 111b Reserved Reserved. Unit OFL (Logical Unit Off Line) 0 306 Disables write operations on user medium or operations that affect user visible medium positioning. This bit is not interpreted by the disc drive. Fibre Channel Interface Manual, Rev. D 12.47.1 Supported Diagnostic page–Send Diagnostic This page instructs the disc drive to make available the list of all supported diagnostic pages to be returned by a subsequent Receive Diagnostic Results command. The definition of this page for the Send Diagnostic command includes only the first four bytes (Receive Diagnostic version given in Table 191). If the page length field is not zero, the disc drive terminates the Send Diagnostic command with a Check Condition status. The Sense Key will be set to Illegal Request with an additional sense code of Invalid Field Parameter List. Table 208: Supported Diagnostic Pages page Bit 7 6 5 4 3 2 1 0 Byte 0 Page Code (00h) 1 Reserved 2 (MSB) Page Length (0000h) 3 Table number 208 Field definitions (listed alphabetically) Page Code 00h 208 (LSB) Supported Diagnostic Pages code. Page Length 0000h Must be zero. Fibre Channel Interface Manual, Rev. D 307 12.47.2 Translate Address page–Send Diagnostic The translate address page allows the initiator to translate a logical block address into a physical sector address or a physical sector into a logical block address. The address to be translated is passed to the disc drive with Send Diagnostic command and the results are returned to the initiator during the data in phase following the Receive Diagnostic Results command. The translated address is returned in the Translate Address page returned after the Receive Diagnostic Results command (see Table 189). Table 209: Translate Address page–Send Diagnostic command Bit Byte 7 0 Page Code (40h) 1 Reserved 2 6 5 4 3 2 1 0 (MSB) Page Length (000Ah) 3 (LSB) 4 Reserved Supplied Format 5 Reserved Translate Format 6 : 13 Table number 209 Address To Translate Field definitions (listed alphabetically) Address To Translate A single address the initiator is requesting the disc drive to translate. The format of this field is defined by the Supplied Format Field. The supported formats are shown in Table 195 and Table 196. 209 Page Code 40h 209 Page Length 000Ah 209 Translate Address page-Send Diagnostic command page code. The length (in bytes) of the Translate Address—Send Diagnostic page. Supplied Format The format of the address to translate field. If the disc drive does not support the requested format, it terminates the Send Diagnostic command with Check Condition status. The sense key is set to Illegal Request and an additional sense code is set to Invalid Field In Parameter List. 000b Logical block address format. 101b Physical sector address format. 209 Translate Format The format to which the initiator would like the address to be translated. The Translate Format field must be different than the Supplied Format field. If the disc drive does not support the requested format it terminates the command with Check Condition status. The sense key is set to Illegal Request and an additional sense code is set to Invalid Field In Parameter List. 000b Logical block address format. 101b Physical sector address format. 308 Fibre Channel Interface Manual, Rev. D 12.47.3 Diagnostic page–Send Diagnostic The Diagnostic page instructs the drive to turn the drive fault LED on or off. This page is used only by the Send Diagnostic command (see Table 210). Table 210: Diagnostic page–Send Diagnostic command Bit Byte 7 0 Page Code (A0h) 1 Reserved 2 6 5 4 3 2 1 0 (MSB) Page Length (0002h) 3 (LSB) Reserved 4 5 Table number 210 Page Code Diagnostic page-Send Diagnostic command page code. Page Length 000Ah 210 SBDL Field definitions (listed alphabetically) A0h 210 Reserved The length (in bytes) of the Diagnostic—Send Diagnostic page. SBDL (Set Bad Device Light) 1 Turn on the drive fault LED. 0 Turn off the drive fault LED. Fibre Channel Interface Manual, Rev. D 309 12.48 Set Device Identifier command A4h The Report Device Identifier command (see Table 211) requests that the device identifier information in the logical unit be set to the value received in the Set Device Identifier parameter list. On successful completion of the command, a Unit Attention is generated for all initiators except the one that issued the service action. When reporting the Unit Attention condition, the additional sense code is set to Device Identifier Changed. Table 211: Set Device Identifier command (A4h) Bit 7 6 5 4 3 2 1 0 Byte Operation Code (A4h) 0 1 Reserved 2 Reserved 3 Reserved 4 Reserved 5 Reserved 6 (MSB) Service Action (06h) 7 Parameter List Length 8 9 Table number 211 (LSB) 10 Reserved 11 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 211 Parameter List Length This field indicates the length in bytes of the identifier that will be transferred from the initiator to the drive. The maximum value for this field is 512 bytes. A parameter list length of zero indicates that no data will be transferred and that subsequent Report Device Identifier commands will return an identifier length of zero. Logical units that implement this command will be capable of accepting a parameter list length of 64 bytes or less. If the parameter list length exceeds 64 bytes and the logical unit is not capable of storing the requested number of bytes, the device server returns Check Condition status with the sense key set to Illegal Request and an additional sense code of Invalid Field in CDB. 211 Operation Code A4h 211 The operation code for the Report Device Identifier command. Service Action 06h The Service Action Code for the Set Peripheral Device/Component Device Identifier. The Set Device Identifier parameter list contains the identifier to be set by the addressed logical unit (see Table 199). 310 Fibre Channel Interface Manual, Rev. D Set Device Identifier Parameter List Table 212: Report Device Identifier parameter list Bit 7 6 5 4 3 2 1 0 Byte 0 : n Table number 199 Identifier Field definitions (listed alphabetically) Identifier This field contains the vendor-specific value to be returned in Report Device Identifier commands. Fibre Channel Interface Manual, Rev. D 311 12.49 Set Limits command 33h Not implemented. If the drive receives this command, a Check Condition status is sent. 312 Fibre Channel Interface Manual, Rev. D 12.50 Start/Stop Unit command 1Bh The Start/Stop Unit command requests that the target enable the logical unit for further operations (start), or stop spindle rotation (stop). The disc drive is able to execute the following commands when the drive spindle is not rotating, or in a simulated stopped condition. • Test Unit Ready • Reserve • Request Sense • Release • Motor Start • Inquiry • Receive Diagnostic Results • Write Buffer • Read Buffer The remaining commands (see SCSI Interface commands supported section in individual drive’s Product Manual for list of all commands supported) cannot be executed until after the drive has spindled up. If the disc drive receives one of these commands before it can be executed, a Check Condition status is returned (with sense key of Not Ready). The initiator closes the loop after a Start Unit is commanded. The disc drive arbitrates for the loop when the unit is up to speed and Ready or when operation is initiated if the Immed bit is 1. Table 213: Start/Stop Unit command (1Bh) Bit 7 6 5 4 3 2 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 Byte Immed Reserved 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 Start Control 5 Table number 213 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 213 213 Immed (Immediate) 0 Status is returned after the operation is completed. 1 Status is returned as soon as the operation is initiated. Start 1 Requests that the logical unit be made ready for use. 0 Requests that the drive to either actually stop the spindle or to simulate the drive spindle stopped condition. In this latter situation the drive spindle actually continues to spin and the drive reports Not Ready in response to media access commands. Power consumption is as when in idle mode. The type of stop implemented is given in the drive Product Manual. Fibre Channel Interface Manual, Rev. D 313 12.51 Synchronize Cache (10) command 35h The Synchronize Cache (10) command ensures that logical blocks in the cache memory, within the specified range, have their most recent data value recorded on the physical medium. If a more recent data value for a logical block within the specified range exists in the cache memory than on the physical medium, then the logical block from the cache memory is written to the physical medium. Logical blocks are not necessarily removed from the cache memory as a result of the synchronize cache operation. Table 214: Synchronize Cache (10) command (35h) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 Immed RelAdr Reserved (MSB) 2 : Logical Block Address (LSB) 5 6 Reserved 7 (MSB) Number of Blocks (LSB) 8 Control 9 Table number 214 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 214 214 Immed (Immediate) 1 The drive returns status as soon as the command descriptor block has been validated. 0 The status is not returned until the operation has been completed. 1 If the target does not support it, the command terminates with Check Condition status. The sense key is set to Illegal Request and the additional sense code is set to Invalid Field in CDB. Logical Block Address The logical block at which the Synchronize Cache operation begins. 214 Number of Blocks The total number of contiguous logical blocks within the range. A number of blocks of zero indicates that all remaining logical blocks on the logical unit are within the range. A logical block within the specified range that is not in cache memory is not considered an error. Multiple locks may be in effect from more than one initiator. Locks from different initiators may overlap. An unlock of an overlapped area does not release the lock of another initiator. 214 RelAdr (Relative Address) This function is not supported by drives described in this manual. 314 Fibre Channel Interface Manual, Rev. D 12.52 Synchronize Cache (16) command 91h The Synchronize Cache (16) command ensures that logical blocks in the cache memory, within the specified range, have their most recent data value recorded on the physical medium. If a more recent data value for a logical block within the specified range exists in the cache memory than on the physical medium, then the logical block from the cache memory is written to the physical medium. Logical blocks are not necessarily removed from the cache memory as a result of the synchronize cache operation. Table 215: Synchronize Cache (16) command (91h) Bit Byte 7 6 5 4 3 2 1 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 Immed RelAdr Reserved (MSB) 2 : Logical Block Address (LSB) 9 (MSB) 10 : Number of Blocks (LSB) 13 Table number 215 14 Reserved 15 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 215 Immed (Immediate) 1 215 The drive returns status as soon as the command descriptor block has been validated. 0 The status is not returned until the operation has been completed. 1 If the target does not support it, the command terminates with Check Condition status. The sense key is set to Illegal Request and the additional sense code is set to Invalid Field in CDB. Logical Block Address The logical block at which the Synchronize Cache operation begins. 215 Number of Blocks The total number of contiguous logical blocks within the range. A number of blocks of zero indicates that all remaining logical blocks on the logical unit are within the range. A logical block within the specified range that is not in cache memory is not considered an error. Multiple locks may be in effect from more than one initiator. Locks from different initiators may overlap. An unlock of an overlapped area does not release the lock of another initiator. 215 RelAdr (Relative Address) This function is not supported by drives described in this manual. Fibre Channel Interface Manual, Rev. D 315 12.53 Test Unit Ready command 00h The Test Unit Ready command provides a means to verify the logical unit is ready. This is not a request for a self test. If the logical unit (drive) can accept an appropriate medium access command without returning Check Condition status, the drive returns a Good status. If the drive cannot become operational or is in a state such that an initiator action (e.g., Start command) is required to make the unit ready, the drive returns Check Condition status with a sense key of Not Ready. One of several possible additional sense codes indicates the reason for the Not Ready condition. Table 216: Test Unit Ready command (00h) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 Reserved 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 Table number 216 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 316 Fibre Channel Interface Manual, Rev. D 12.54 Verify (10) command 2Fh The Verify (10) command requests that the target verify the data written on the medium. This command is implemented with the disc drive specific parameters listed in Table 217. The drive disconnects while this command is being executed if the initiator supports disconnect/reconnect. Table 217: Verify (10) command (2Fh) Bit 7 6 5 4 3 2 1 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 BytChk RelAdr 0 0 Byte Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Table number 217 217 0 0 7 Verification Length (MSB) 8 Verification Length (LSB) 9 Control DPO 0 0 0 0 Field definitions (listed alphabetically) BytChk (Byte Check) 0 The verification will be a medium verification (CRC, ECC, etc.). 1 A byte-by-byte compare of data on the medium and the data transferred from the initiator. If the compare is unsuccessful, the command terminates with a Check Condition status and the sense key is set to Miscompare. Control See Control Bytes in Section 11.2.1.6. 217 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 217 1 The target assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 Logical blocks accessed by this command are likely to be accessed again in the near future. Logical Block Address The logical block at which the verify operation begins, if RelAdr is zero (0). 217 RelAdr (Relative Address) This function is not supported by drives described in this manual. 217 Verification Length The number of contiguous logical blocks of data that are verified. A Verification Length of zero indicates that no logical blocks are verified (an Implied Seek is still performed). This condition is not considered an error. Any other value indicates the number of logical blocks that are verified. Fibre Channel Interface Manual, Rev. D 317 12.55 Verify (12) command AFh The Verify (12) command requests that the target verify the data written on the medium. This command is implemented with the disc drive specific parameters listed in Table 218. The drive disconnects while this command is being executed if the initiator supports disconnect/reconnect. Table 218: Verify (12) command (AFh) Bit 7 6 5 4 3 2 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 BytChk RelAdr Byte Reserved Table number 218 218 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Verification Length (MSB) 7 Verification Length 8 Verification Length 9 Verification Length (LSB) 10 Reserved 11 Control DPO Field definitions (listed alphabetically) BytChk (Byte Check) 0 The verification will be a medium verification (CRC, ECC, etc.). 1 A byte-by-byte compare of data on the medium and the data transferred from the initiator. If the compare is unsuccessful, the command terminates with a Check Condition status and the sense key is set to Miscompare. Control See Control Bytes in Section 11.2.1.6. 218 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 218 1 The target assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 Logical blocks accessed by this command are likely to be accessed again in the near future. Logical Block Address The logical block at which the verify operation begins, if RelAdr is zero (0). 218 RelAdr (Relative Address) This function is not supported by drives described in this manual. 318 Fibre Channel Interface Manual, Rev. D 218 Verification Length The number of contiguous logical blocks of data that are verified. A Verification Length of zero indicates that no logical blocks are verified (an Implied Seek is still performed). This condition is not considered an error. Any other value indicates the number of logical blocks that are verified. Fibre Channel Interface Manual, Rev. D 319 12.56 Verify (16) command 8Fh The Verify (16) command requests that the target verify the data written on the medium. This command is implemented with the disc drive specific parameters listed in Table 218. The drive disconnects while this command is being executed if the initiator supports disconnect/reconnect. Table 219: Verify (16) command (8Fh) Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 BytChk RelAdr Byte Reserved Table number 219 219 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address 6 Logical Block Address 7 Logical Block Address 8 Logical Block Address 9 Logical Block Address (LSB) 10 Verification Length (MSB) 11 Verification Length 12 Verification Length 13 Verification Length (LSB) 14 Reserved 15 Control DPO Field definitions (listed alphabetically) BytChk (Byte Check) 0 The verification will be a medium verification (CRC, ECC, etc.). 1 A byte-by-byte compare of data on the medium and the data transferred from the initiator. If the compare is unsuccessful, the command terminates with a Check Condition status and the sense key is set to Miscompare. Control See Control Bytes in Section 11.2.1.6. 219 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 219 1 The target assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 Logical blocks accessed by this command are likely to be accessed again in the near future. Logical Block Address The logical block at which the verify operation begins, if RelAdr is zero (0). 320 Fibre Channel Interface Manual, Rev. D 219 RelAdr (Relative Address) This function is not supported by drives described in this manual. 219 Verification Length The number of contiguous logical blocks of data that are verified. A Verification Length of zero indicates that no logical blocks are verified (an Implied Seek is still performed). This condition is not considered an error. Any other value indicates the number of logical blocks that are verified. Fibre Channel Interface Manual, Rev. D 321 12.57 Write (6) command 0Ah The Write (6) command requests that the disc drive write the data transferred by the initiator to the medium (discs). Table 220: Write (6) command (0Ah) Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 (MSB) Byte Reserved Logical Block Address 2 3 Table number 220 (LSB) 4 Transfer Length 5 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 220 Logical Block Address The logical block at which the write operation begins. 220 Transfer Length The number of contiguous logical blocks of data to be transferred. Any value other than 0 indicates the number of logical blocks that are transferred. 0 Transfer 256 logical blocks The disc drive closes the loop when any internal error recovery procedure is required, or if the disc drive’s internal data buffer is full. After the disc closes, the initiator must re-arbitrate to send the remaining data. The initiator must send requested write data to the drive until the drive sends Completion status or until the initiator resets/aborts the command or clears the queue. (The initiator may close and re-arbitrate at any time while executing this command). Sense Data is valid after this command is executed and Completion status is sent (refer to the Read (6) Command description in Section 12.21). If the RCD bit is set to zero on the Caching Mode page 08h (cache is enabled), the data that is written by this command remains in the cache buffer, if no write errors are encountered. This allows a Read command to access the same data from the cache buffer instead of accessing the media, if the same LBA is requested by the Read command. This command is terminated with a Reservation Conflict status and no data is written if any reservation access conflict (see Section 12.39) exists. 322 Fibre Channel Interface Manual, Rev. D If any of the following conditions occur, this command is terminated with a Check Condition status, and if extended sense is implemented, the sense key is set as indicated in the following table. This table does not provide an exhaustive enumeration of all conditions that may cause the Check Condition status. Condition Sense key Invalid logical block address Volume Overflow. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention. Fibre Channel Interface Manual, Rev. D 323 12.58 Write (10) command 2Ah The Write (10) command requests that the disc drive write to the medium the data transferred by the initiator. This command is implemented with the disc drive specific parameters listed in Table 221. Refer also to the Write Caching section in the individual drive’s Product Manual, Volume 2, for information on write cache control. Table 221: Write (10) command (2Ah) Bit 7 6 5 4 3 2 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 DPO FUA 0 0 Byte RelAdr Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Table number 221 0 0 7 Transfer Length (MSB) 8 Transfer Length (LSB) 9 Control 0 0 0 0 Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 221 DPO (Disable Page Out) 1 221 FUA (Force Unit Access) 1 221 No data is cached. The DPO bit is only meaningful if the RCD bit of Mode Select page 08h is set false (caching enabled). The Write command will not return Good status until the logical blocks have actually been written on the media. The FUA bit is only meaningful if the WCE bit of Mode Sense page 08h is true. Logical Block Address The logical block at which the write operation begins, if RelAdr bit is zero (see RelAdr bit definition). 221 RelAdr (Relative Address) This function is not supported by drives described in this manual. 221 Transfer Length The number of contiguous logical blocks of data that are transferred. A Transfer Length of zero (0) indicates no logical blocks are transferred. This condition is not considered an error and no data is written. Any other value indicates the number of logical blocks that are transferred. 324 Fibre Channel Interface Manual, Rev. D This command operates the same as the Write (6) command (Section 12.57) except that in the CDB for this command a four-byte logical block address and a two-byte transfer length may be specified. This command terminates with a Reservation Conflict status if any reservation access conflict (see Section 12.39) exists, and no data is written. If any of the following conditions occur, this command terminates with a Check Condition status and the sense key is set as indicated in the following table. This table does not provide an exhaustive enumeration of all conditions that cause the Check Condition status. Condition Sense Key Invalid logical block address Volume Overflow. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention Fibre Channel Interface Manual, Rev. D 325 12.59 Write (12) command AAh The Write (12) command requests that the disc drive write to the medium the data transferred by the initiator. This command is implemented with the disc drive specific parameters listed in Table 221. Refer also to the Write Caching section in the individual drive’s Product Manual, Volume 2, for information on write cache control. Table 222: Write (12) command (AAh) Bit 7 6 5 4 3 2 1 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 DPO FUA Byte RelAdr Reserved Table number 222 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Transfer Length (MSB) 7 Transfer Length 8 Transfer Length 9 Transfer Length (LSB) 10 Reserved 11 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 222 DPO (Disable Page Out) 1 222 FUA (Force Unit Access) 1 222 No data is cached. The DPO bit is only meaningful if the RCD bit of Mode Select page 08h is set false (caching enabled). The Write command will not return Good status until the logical blocks have actually been written on the media. The FUA bit is only meaningful if the WCE bit of Mode Sense page 08h is true. Logical Block Address The logical block at which the write operation begins, if RelAdr bit is zero (see RelAdr bit definition). 222 RelAdr (Relative Address) This function is not supported by drives described in this manual. 222 Transfer Length The number of contiguous logical blocks of data that are transferred. A Transfer Length of zero (0) indicates no logical blocks are transferred. This condition is not considered an error and no data is written. Any other value indicates the number of logical blocks that are transferred. 326 Fibre Channel Interface Manual, Rev. D This command operates the same as the Write (6) command (Section 12.57) except that in the CDB for this command a four-byte logical block address and a four-byte transfer length may be specified. This command terminates with a Reservation Conflict status if any reservation access conflict (see Section 12.39) exists, and no data is written. If any of the following conditions occur, this command terminates with a Check Condition status and the sense key is set as indicated in the following table. This table does not provide an exhaustive enumeration of all conditions that cause the Check Condition status. Condition Sense Key Invalid logical block address Volume Overflow. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention Fibre Channel Interface Manual, Rev. D 327 12.60 Write (16) command 8Ah The Write (16) command requests that the disc drive write to the medium the data transferred by the initiator. This command is implemented with the disc drive specific parameters listed in Table 221. Refer also to the Write Caching section in the individual drive’s Product Manual, Volume 2, for information on write cache control. Table 223: Write (16) command (8Ah) Bit 7 6 5 4 3 2 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 DPO FUA Byte RelAdr Reserved Table number 222 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address 6 Logical Block Address 7 Logical Block Address 8 Logical Block Address 9 Logical Block Address (LSB) 10 Transfer Length (MSB) 11 Transfer Length 12 Transfer Length 13 Transfer Length (LSB) 14 Reserved 15 Control Field definitions (listed alphabetically) Control See Control Bytes in Section 11.2.1.6. 222 DPO (Disable Page Out) 1 222 FUA (Force Unit Access) 1 222 No data is cached. The DPO bit is only meaningful if the RCD bit of Mode Select page 08h is set false (caching enabled). The Write command will not return Good status until the logical blocks have actually been written on the media. The FUA bit is only meaningful if the WCE bit of Mode Sense page 08h is true. Logical Block Address The logical block at which the write operation begins, if RelAdr bit is zero (see RelAdr bit definition). 222 RelAdr (Relative Address) This function is not supported by drives described in this manual. 328 Fibre Channel Interface Manual, Rev. D 222 Transfer Length The number of contiguous logical blocks of data that are transferred. A Transfer Length of zero (0) indicates no logical blocks are transferred. This condition is not considered an error and no data is written. Any other value indicates the number of logical blocks that are transferred. This command operates the same as the Write (6) command (Section 12.57) except that in the CDB for this command a eight-byte logical block address and a four-byte transfer length may be specified. This command terminates with a Reservation Conflict status if any reservation access conflict (see Section 12.39) exists, and no data is written. If any of the following conditions occur, this command terminates with a Check Condition status and the sense key is set as indicated in the following table. This table does not provide an exhaustive enumeration of all conditions that cause the Check Condition status. Condition Sense Key Invalid logical block address Volume Overflow. Set the extended sense information bytes to the logical block address of the first invalid address. Target reset since last command from this initiator Unit Attention Fibre Channel Interface Manual, Rev. D 329 12.61 Write and Verify (10) command 2Eh The Write and Verify (10) command requests that the target write the data transferred from the initiator to the medium and then verify that the data is correctly written. The data is only transferred once from the initiator to the drive. Table 224: Write and Verify (10) command (2Eh) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 BytChk RelAdr 0 0 Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Table number 224 224 0 0 7 Transfer Length (MSB) 8 Transfer Length (LSB) 9 Control DPO 0 0 0 0 Field definitions (listed alphabetically) BytChk (Byte Check) 0 Verification will be a medium verification (ECC) with no data comparison. 1 A byte-by-byte compare of data written on the peripheral device and the data transferred from the initiator. If the compare is unsuccessful, the command terminates with a Check Condition status and the sense key is set to Miscompare. Control See Control Bytes in Section 11.2.1.6. 224 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 224 1 The target assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The logical blocks accessed by this command are likely to be accessed again in the near future. Logical Block Address The logical block at which the write operation begins if RelAdr bit is zero (see RelAdr bit definition). 224 RelAdr (Relative Address) This function is not supported by drives described in this manual. 224 Transfer Length The number of contiguous logical blocks of data that are transferred. A transfer length of zero indicates that no logical blocks are transferred. This condition is not considered an error and no data is written. Any other value indicates the number of logical blocks that are transferred. For systems that support disconnection, the disc drive disconnects during the execution of this command. 330 Fibre Channel Interface Manual, Rev. D 12.62 Write and Verify (12) command AEh The Write and Verify (12) command requests that the target write the data transferred from the initiator to the medium and then verify that the data is correctly written. The data is only transferred once from the initiator to the drive. Table 225: Write and Verify (12) command (AEh) Bit Byte 7 6 5 4 3 2 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 BytChk RelAdr Reserved Table number 225 225 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Transfer Length (MSB) 7 Transfer Length 8 Transfer Length 9 Transfer Length (LSB) 10 Reserved 11 Control DPO Field definitions (listed alphabetically) BytChk (Byte Check) 0 Verification will be a medium verification (ECC) with no data comparison. 1 A byte-by-byte compare of data written on the peripheral device and the data transferred from the initiator. If the compare is unsuccessful, the command terminates with a Check Condition status and the sense key is set to Miscompare. Control See Control Bytes in Section 11.2.1.6. 225 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 225 1 The target assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The logical blocks accessed by this command are likely to be accessed again in the near future. Logical Block Address The logical block at which the write operation begins if RelAdr bit is zero (see RelAdr bit definition). 225 RelAdr (Relative Address) This function is not supported by drives described in this manual. Fibre Channel Interface Manual, Rev. D 331 225 Transfer Length The number of contiguous logical blocks of data that are transferred. A transfer length of zero indicates that no logical blocks are transferred. This condition is not considered an error and no data is written. Any other value indicates the number of logical blocks that are transferred. For systems that support disconnection, the disc drive disconnects during the execution of this command. 332 Fibre Channel Interface Manual, Rev. D 12.63 Write and Verify (16) command 8Eh The Write and Verify (16) command requests that the target write the data transferred from the initiator to the medium and then verify that the data is correctly written. The data is only transferred once from the initiator to the drive. Table 226: Write and Verify (16) command (8Eh) Bit Byte 7 6 5 4 3 2 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0 0 0 BytChk RelAdr Reserved Table number 226 226 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address 6 Logical Block Address 7 Logical Block Address 8 Logical Block Address 9 Logical Block Address (LSB) 10 Transfer Length (MSB) 11 Transfer Length 12 Transfer Length 13 Transfer Length (LSB) 14 Reserved 15 Control DPO Field definitions (listed alphabetically) BytChk (Byte Check) 0 Verification will be a medium verification (ECC) with no data comparison. 1 A byte-by-byte compare of data written on the peripheral device and the data transferred from the initiator. If the compare is unsuccessful, the command terminates with a Check Condition status and the sense key is set to Miscompare. Control See Control Bytes in Section 11.2.1.6. 226 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 226 1 The target assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The logical blocks accessed by this command are likely to be accessed again in the near future. Logical Block Address The logical block at which the write operation begins if RelAdr bit is zero (see RelAdr bit definition). Fibre Channel Interface Manual, Rev. D 333 226 RelAdr (Relative Address) This function is not supported by drives described in this manual. 226 Transfer Length The number of contiguous logical blocks of data that are transferred. A transfer length of zero indicates that no logical blocks are transferred. This condition is not considered an error and no data is written. Any other value indicates the number of logical blocks that are transferred. For systems that support disconnection, the disc drive disconnects during the execution of this command. 334 Fibre Channel Interface Manual, Rev. D 12.64 Write Buffer command 3Bh The Write Buffer command may be used in conjunction with the Read Buffer command as a diagnostic function for testing the disc drive’s data buffer memory and the FC-AL integrity. When used in a diagnostic mode, the medium is not accessed during the execution of this command. Additional modes are provided for downloading and saving executable microcode. The function of this command and the meaning of the fields within the Command Descriptor Block depend on the Mode field. Table 227: Write Buffer command (3Bh) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 Mode Reserved 2 Buffer ID 3 (MSB) 4 Buffer Offset 5 (LSB) 6 (MSB) 7 Byte Transfer Length 8 9 Table number 227 (LSB) Control Field definitions (listed alphabetically) Buffer ID Implemented only by drives that support modes 110b and 111b. 227 Buffer Offset Implemented only by drives that support modes 110b and 111b. 227 Byte Transfer Length Use a Read Buffer command with mode bits set to 011b to get the drive buffer capacity to use with the Write Buffer command. 227 Control See Control Bytes in Section 11.2.1.6. 227 Mode Defined in the following table and in the referenced sections. Check with your drive’s Product Manual, Volume 1, to see which modes are supported by the drive. Fibre Channel Interface Manual, Rev. D 335 Table 228: Mode definitions Bit 2 Bit 1 Bit 0 0 0 0 Write combined header and data (Section 12.64.1) 0 1 0 Write data (Section 12.64.2) 1 0 0 Download microcode 1 0 1 Download microcode and save (Section 12.64.3) 1 1 0 Download microcode with offsets 1 1 1 Download microcode with offsets and save (Section 12.64.4) 336 Mode Definition Fibre Channel Interface Manual, Rev. D 12.64.1 Combined Header and Data mode (000b) In this mode, data to be written to the disc drive’s data buffer is preceded by a four-byte header. The Byte Transfer Length includes a four-byte header and the Write Buffer data. A transfer length of zero indicates that no data transfer takes place. This condition does not create the Check Condition status. If the transfer length is greater than the Buffer Capacity reported by the Read Buffer header, the disc drive creates the Check Condition status with the sense key of Illegal Request. In this case no data is transferred from the initiator. It is not considered an error to request a transfer length less than the Buffer Capacity. Buffer ID and Buffer Offset fields are all zero. The write data following the Write Buffer CDB consists of a four-byte Write Buffer header (which always precedes the data) plus the data to be written to the data buffer as follows: Table 229: Write Buffer header Bit Byte 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4-n 12.64.2 Data to be written into disc drive buffer Write Data Only mode (010b) The byte transfer length specifies the maximum number of bytes that are transferred and stored in the drive buffer. No header bytes are included. The Buffer ID and Buffer Offset fields are all zero. 12.64.3 Download Microcode and Save mode (101b) In this mode, vendor-unique executable microcode (which is not preceded by a four-byte header) is transferred to the control memory space of the target and, if the download is completed successfully, will also be saved. The downloaded code is then effective after each power cycle and reset until it is replaced using another download microcode and save operation. When the download microcode and save command has been completed successfully, the target generates a Unit Attention condition for all initiators with an extended sense of Power On, Reset, or Bus Device Reset Occurred (Sense Data Error Code 29 03h). Following the downloading of new microcode, the drive may need to be reformatted before it can perform properly. For this mode (101b) the command bytes of Table 227 are interpreted as shown below: Buffer ID and Buffer Offset fields (CDB bytes 2–5): These bytes are all zero. Byte Transfer Length (CDB bytes 6, 7 and 8): The transfer length (in bytes) of the downloadable code. This value must be the exact length of the download data. A value of one signifies one byte of download data, etc. Control Bytes (CDB byte 9): All bits zero. Fibre Channel Interface Manual, Rev. D 337 12.64.4 Download Microcode with Offsets and Save mode (111b) In this mode, the initiator may split the transfer of the vendor-specific microcode or control information over two or more write buffer commands. If the logical unit cannot accept this command because of some device condition, the logical unit terminates each write buffer command with this mode (111b) with a Check Condition status, a sense key of Illegal Request, and sets the additional sense code to Command Sequence Error. If the last write buffer command of a set of one or more commands completes successfully, the microcode or control information is saved in a nonvolatile memory space (semiconductor, disk or other). The saved downloaded microcode or control information is then effective after each power-cycle and reset until it is supplanted by another download microcode with save operation or download microcode with offsets and save operation. In this mode, the data transfer contains vendor-specific, self-describing microcode or control information. Since the downloaded microcode or control information may be sent using several commands, when the logical unit detects the last download microcode with offsets and save Write Buffer command has been received, the logical unit performs any logical unit required verification of the complete set of downloaded microcode or control information prior to returning Good status for the last command. After the last command completes successfully, the logical unit generates a unit attention condition for all initiators except the one that issued the set of write buffer commands. When reporting the unit attention condition, the logical unit sets the additional sense code to Microcode Has Been Changed. If the complete set of write buffer commands required to effect a microcode or control information change (one or more commands) are not received before a reset or power-on cycle occurs, the change is not effective and the microcode or control information is discarded. The Buffer ID field identifies a specific buffer within the logical unit. The vendor assigns buffer ID codes to buffers within the logical unit. A Buffer ID field value of zero is supported. If more than one buffer is supported, additional buffer ID codes are assigned contiguously, beginning with one. If an unsupported buffer ID code is identified, the logical unit returns Check Condition status and sets the sense key to Illegal Request with an additional sense code of Invalid Field In CDB. The microcode or control information are written to the logical unit buffer starting at the location specified by the buffer offset. The initiator conforms to the offset boundary requirements. If the logical unit is unable to accept the specified buffer offset, it returns Check Condition status and it sets the sense key to Illegal Request with an additional sense code of Invalid Field In CDB. The parameter list length specifies the maximum number of bytes that are transferred during the data transfer to be stored in the specified buffer beginning at the buffer offset. The initiator attempts to ensure that the parameter list length plus the buffer offset does not exceed the capacity of the specified buffer. If the Buffer Offset and Parameter List Length fields specify a transfer that would exceed the buffer capacity, the logical unit returns Check Condition status and sets the sense key to Illegal Request with an additional sense code of Invalid Field In CDB. 338 Fibre Channel Interface Manual, Rev. D 12.65 Write Long command 3Fh The Write Long command requests that the target write to the medium the data transferred by the initiator. The data passed during the WRITE LONG command is implementation specific, but shall include the data bytes and the ECC bytes to be written to the single logical block addressed in the command. The Read Long command is usually issued before issuing a Write Long command. The Write Long data passed must be in the same order and must be the same number of bytes as the Read Long command. Table 230: Write Long command (3Fh) Bit Byte 7 6 5 4 3 2 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 RelAdr Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Table number 230 0 0 7 Byte Transfer Length (MSB) 8 Byte Transfer Length (LSB) 9 Control 0 0 0 0 0 0 Field definitions (listed alphabetically) Byte Transfer Length The number of bytes of data that will be transferred. A transfer length of zero (0) indicates that no bytes will be transferred. This condition is not considered an error. The byte transfer length requested must be equal to the current block size plus all ECC bytes for a data transfer to occur. If an incorrect number of bytes is stated in the command block, this command terminates with a Check Condition status. The correct number of bytes can be determined from the information returned in the extended sense data bytes after issuing the Request Sense command. The Request Sense command results in the Illegal Field In CDB condition with the Illegal Request sense key. The extended sense ILI bit will be set. The extended sense information bytes contain the difference (residue) of the requested length minus the actual length (in bytes). (Negative values are indicated by two’s complement notation.) 230 Control See Control Bytes in Section 11.2.1.6. 230 Logical Block Address The 32-bit address of the logical block affected by this command. 230 RelAdr (Relative Address) This function is not supported by drives described in this manual. Fibre Channel Interface Manual, Rev. D 339 12.66 Write Same (10) command 41h The Write Same (10) command requests that the target write the single block of data transferred by the initiator to the medium multiple times. Table 231: Write Same (10) command (41h) Bit Byte 0 Table number 231 7 6 5 4 3 2 1 0 0 1 0 0 0 0 0 1 PBdata LBdata RelAdr 1 Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Reserved 7 Number of Blocks (MSB) 8 Number of Blocks (LSB) 9 Control Field definitions (listed alphabetically) Control See Section 11.2.1.6. 231 LBdata (Logical Block data) Seagate fibre channel drives do not support this bit. 231 Logical Block Address The 32-bit address of the logical block affected by this command. 231 Number of Blocks The number of contiguous logical blocks to be written. 0 231 A value of 0 requests that all the remaining logical blocks on the medium be written. PBdata (Physical Block data) Seagate fibre channel drives do not support this bit. 231 RelAdr (Relative Address) This function is not supported by drives described in this manual. 340 Fibre Channel Interface Manual, Rev. D 12.67 Write Same (16) command 93h The Write Same (16) command requests that the target write the single block of data transferred by the initiator to the medium multiple times. Table 232: Write Same (16) command (93h) Bit Byte 0 7 6 5 4 3 2 1 0 1 0 0 1 0 0 1 1 PBdata LBdata RelAdr 1 Reserved 2 (MSB) 3 4 5 Logical Block Address 6 7 8 9 10 (LSB) (MSB) 11 Number of Blocks 12 13 Table number 233 (LSB) 14 Reserved 15 Control Field definitions (listed alphabetically) Control See Section 11.2.1.6. 233 LBdata (Logical Block data) Seagate fibre channel drives do not support this bit. 233 Logical Block Address The 32-bit address of the logical block affected by this command. 233 Number of Blocks The number of contiguous logical blocks to be written. 0 233 A value of 0 requests that all the remaining logical blocks on the medium be written. PBdata (Physical Block data) Seagate fibre channel drives do not support this bit. 232 RelAdr (Relative Address) This function is not supported by drives described in this manual. Fibre Channel Interface Manual, Rev. D 341 12.68 XDRead (10) command 52h The XDRead (10) command requests that the target transfer the xor data generated by an XDWrite or Regenerate command to the initiator. If the logical unit is reserved, a reservation conflict occurs when an XDRead command is received from an initiator other than the one holding the logical unit reservation. The command is rejected with Reservation Conflict status if the reservation conflict is due to a logical unit reservation. The XDRead command is evaluated for extent reservation conflicts. XDRead commands with a reservation conflict is terminated with Check Condition status and the sense key is set to Data Protect if any part of the XDRead operation is prohibited by an extent reservation. The xor data transferred is identified by the logical block address and transfer length. The logical block address and transfer length is the same as, or a subset of, those specified in a prior XDWrite or Regenerate command. If a match is not found, the command is terminated with a Check Condition status. The sense data is set to Illegal Request: Invalid Field in CDB. Table 233: XDRead (10) command (52h) Bit Byte 0 Table number 233 7 6 5 4 3 2 1 0 0 1 0 1 0 0 1 0 1 Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Reserved 7 Byte Transfer Length (MSB) 8 Byte Transfer Length (LSB) 9 Control Field definitions (listed alphabetically) Byte Transfer Length The number of bytes of data that will be transferred. A transfer length of zero (0) indicates that no bytes will be transferred. This condition is not considered an error. 233 Control See Section 11.2.1.6. 233 Logical Block Address The 32-bit address of the logical block affected by this command. 342 Fibre Channel Interface Manual, Rev. D 12.69 XDRead (32) command 7Fh The XDRead (32) command requests that the target transfer the xor data generated by an XDWrite or Regenerate command to the initiator. If the logical unit is reserved, a reservation conflict occurs when an XDRead command is received from an initiator other than the one holding the logical unit reservation. The command is rejected with Reservation Conflict status if the reservation conflict is due to a logical unit reservation. The XDRead command is evaluated for extent reservation conflicts. XDRead commands with a reservation conflict is terminated with Check Condition status and the sense key is set to Data Protect if any part of the XDRead operation is prohibited by an extent reservation. The xor data transferred is identified by the logical block address and transfer length. The logical block address and transfer length is the same as, or a subset of, those specified in a prior XDWrite or Regenerate command. If a match is not found, the command is terminated with a Check Condition status. The sense data is set to Illegal Request: Invalid Field in CDB. Table 234: XDRead (32) command (7Fh) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 1 1 1 1 1 1 1 Control 2 : 6 Reserved 7 Additional CDB Length (18h) 8 (MSB) Service Action (0003h) 9 (LSB) 10 Reserved 11 Reserved 12 (MSB) 13 14 15 Logical Block Address 16 17 18 19 20 : 27 28 (LSB) Reserved (MSB) 29 Byte Transfer Length 30 31 Fibre Channel Interface Manual, Rev. D (LSB) 343 Table number 234 Field definitions (listed alphabetically) Additional CDB Length (18h) The Additional CDB Length field indicates the number of additional CDB bytes. This value in the Additional CDB Length field shall be a multiple of 4. If the number of CDB bytes delivered by the service delivery subsystem is not sufficient to contain the number of bytes specified by the Additional CDB Length field, the command shall be terminated with a Check Condition status. The sense key shall be set to Illegal Request and the additional sense code shall be set to Invalid Field in CDB. 234 Byte Transfer Length The number of bytes of data that will be transferred. A transfer length of zero (0) indicates that no bytes will be transferred. This condition is not considered an error. 234 Control See Section 11.2.1.6. 234 Logical Block Address The 32-bit address of the logical block affected by this command. 234 Service Action 0003h 344 The Service Action Code for the XDRead (32) command. Fibre Channel Interface Manual, Rev. D 12.70 XDWrite (10) command 50h The XDWrite (10) command requests that the target xor the data transferred with the data on the medium. The resulting xor data is stored by the target until it is retrieved by an XDRead command. The resulting xor data is retrieved by an XDRead command with starting logical block address and transfer length fields that match, or is a subset of, the starting logical block address and transfer length of this command. If the logical unit is reserved, a reservation conflict occurs when an XDWrite command is received from an initiator other than the one holding the logical unit reservation. The command is rejected with Reservation Conflict status if the reservation conflict is due to a logical unit reservation. The XDWrite command is evaluated for extent reservation conflicts. XDWrite commands with a reservation conflict are terminated with Check Condition status and the sense key is set to Data Protect if any part of the XDWrite operation is prohibited by an extent reservation. Table 235: XDWrite (10) command (50h) Bit Byte 0 7 6 5 4 3 2 1 0 0 1 0 1 0 0 0 0 DPO FUA Disable Write 1 Table number 235 Reserved 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Reserved 7 Transfer Length (MSB) 8 Transfer Length (LSB) 9 Control Reserved Field definitions (listed alphabetically) Control See Section 11.2.1.6. 235 235 235 Disable Write 0 The data transferred from the initiator is written to the medium after the xor operation is complete. 1 The data is not written to the medium. DPO (Disable Page Out) 0 The priority is determined by the retention priority fields in the caching page. All other aspects of the algorithm implementing the cache memory replacement strategy are not defined. 1 The device server assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. This value overrides any retention priority specified in the caching page. FUA (Force Unit Access) 0 The device server may satisfy the command by accessing the cache memory. For read operations, any or all of the logical blocks that are contained in the cache memory may be transferred to the application client directly from the cache memory. Fibre Channel Interface Manual, Rev. D 345 For write operations, logical blocks may be transferred directly to the cache memory. Good status may be returned to the application client prior to writing the logical blocks to the medium. Any error that occurs after the Good status is returned is a deferred error, and information regarding the error is not reported until a subsequent command. 1 The device server accesses the media in performing the command prior to returning Good status. Read commands access the specified logical blocks from the media (the data is not directly retrieved from the cache). In the case where the cache contains a more recent version of a logical block that the media, the logical block writes to the media first. Write commands do not return Good status until the logical blocks have actually been written on the media (the data is not write cached). 235 Logical Block Address The starting logical block address of the data to be affected by the xor operation. 235 Transfer Length The number of logical blocks that will be transferred to the XDWrite target and the number of logical blocks that will be affected by the xor operation. 346 Fibre Channel Interface Manual, Rev. D 12.71 XDWrite (32) command 7Fh The XDWrite (32) command requests that the target xor the data transferred with the data on the medium. The resulting xor data is stored by the target until it is retrieved by an XDRead command. The resulting xor data is retrieved by an XDRead command with starting logical block address and transfer length fields that match, or is a subset of, the starting logical block address and transfer length of this command. If the logical unit is reserved, a reservation conflict occurs when an XDWrite command is received from an initiator other than the one holding the logical unit reservation. The command is rejected with Reservation Conflict status if the reservation conflict is due to a logical unit reservation. The XDWrite command is evaluated for extent reservation conflicts. XDWrite commands with a reservation conflict are terminated with Check Condition status and the sense key is set to Data Protect if any part of the XDWrite operation is prohibited by an extent reservation. Table 236: XDWrite (32) command (7Fh) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 1 1 1 1 1 1 1 Control 2 : 6 Reserved 7 Additional CDB Length (18h) 8 (MSB) Service Action (0004h) 9 (LSB) 10 11 12 Reserved DPO FUA Disable Write Reserved Reserved (MSB) 13 14 15 Logical Block Address 16 17 18 19 20 : 27 28 (LSB) Reserved (MSB) 29 Transfer Length 30 31 Fibre Channel Interface Manual, Rev. D (LSB) 347 Table number 236 Field definitions (listed alphabetically) Additional CDB Length The Additional CDB Length field indicates the number of additional CDB bytes. This value in the Additional CDB Length field shall be a multiple of 4. If the number of CDB bytes delivered by the service delivery subsystem is not sufficient to contain the number of bytes specified by the Additional CDB Length field, the command shall be terminated with a Check Condition status. The sense key shall be set to Illegal Request and the additional sense code shall be set to Invalid Field in CDB. 236 Control See Section 11.2.1.6. 236 236 Disable Write 0 The data transferred from the initiator is written to the medium after the xor operation is complete. 1 The data is not written to the medium. DPO (Disable Page Out) 1 236 FUA (Force Unit Access) 1 236 No data is cached. The DPO bit is only meaningful if the RCD bit of Mode Select Page 8 is set false (caching enabled). The Write command will not return Good status until the logical blocks have actually been written on the media. The FUA bit is only meaningful if the WCE bit of Mode Sense page 08h is true. Logical Block Address The starting logical block address of the data to be affected by the xor operation. 236 Service Action 0004h 236 The Service Action Code for the XDWrite (32) command. Transfer Length The number of logical blocks that will be transferred to the XDWrite target and the number of logical blocks that will be affected by the xor operation. 348 Fibre Channel Interface Manual, Rev. D 12.72 XDWriteRead (10) command 53h The XDWriteRead (10) command requests that the target xor the data transferred (data-out) with the data on the medium and return the resulting xor data (data-in). This is the equivalent to an XDWrite (10) command followed by an XDRead (10) command with the same Logical Block Address and Transfer Length. This command is only available on transport protocols supporting bidirectional commands. Table 237: XDWriteRead (10) command (53h) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 0 1 0 0 1 1 DPO FUA Disable Write 1 Reserved 2 3 4 5 Reserved (MSB) Logical Block Address (LSB) Reserved 6 7 (MSB) Transfer Length 8 (LSB) 9 Table number 237 Control Field definitions (listed alphabetically) Control See Section 11.2.1.6. 237 DPO (Disable Page Out) 1 237 237 Disable Write 0 The data transferred from the initiator is written to the medium after the xor operation is complete. 1 The data is not written to the medium. FUA (Force Unit Access) 1 237 No data is cached. The DPO bit is only meaningful if the RCD bit of Mode Select Page 8 is set false (caching enabled). The Write command does not return Good status until the logical blocks have actually been written on the media. the FUA bit is only meaningful if the WCE bit of Mode Sense Page 8 is true. Logical Block Address The starting logical block address of the data to be affected by the xor operation. 237 Transfer Length The number of logical blocks to be transferred to the XDWrite target for the xor operation. It also specifies the number of blocks to be written to the medium after the xor operation. Fibre Channel Interface Manual, Rev. D 349 12.73 XDWriteRead (32) command 7Fh The XDWriteRead (32) command requests that the target xor the data transferred (data-out) with the data on the medium and return the resulting xor data (data-in). This is the equivalent to an XDWrite (32) command followed by an XDRead (32) command with the same Logical Block Address and Transfer Length. This command is only available on transport protocols supporting bidirectional commands. Table 238: XDWriteRead (32) command (7Fh) Bit Byte 7 6 5 4 3 2 1 0 0 0 1 1 1 1 1 1 1 1 Control 2 : 6 Reserved 7 Additional CDB Length 8 (MSB) Service Action (0007h) 9 (LSB) 10 11 12 Reserved DPO FUA Disable Write Reserved Reserved (MSB) 13 14 15 Logical Block Address 16 17 18 19 20 : 27 28 (LSB) Reserved (MSB) 29 Transfer Length 30 31 Table number 238 (LSB) Field definitions (listed alphabetically) Additional CDB Length The Additional CDB Length field indicates the number of additional CDB bytes. This value in the Additional CDB Length field shall be a multiple of 4. If the number of CDB bytes delivered by the service delivery subsystem is not sufficient to contain the number of bytes specified by the Additional CDB Length field, the command shall be terminated with a Check Condition status. The sense key shall be set to Illegal Request and the additional sense code shall be set to Invalid Field in CDB. 350 Fibre Channel Interface Manual, Rev. D 238 Control See Section 11.2.1.6. 238 DPO (Disable Page Out) 1 238 238 Disable Write 0 The data transferred from the initiator is written to the medium after the xor operation is complete. 1 The data is not written to the medium. FUA (Force Unit Access) 1 238 No data is cached. The DPO bit is only meaningful if the RCD bit of Mode Select Page 8 is set false (caching enabled). The Write command does not return Good status until the logical blocks have actually been written on the media. the FUA bit is only meaningful if the WCE bit of Mode Sense Page 8 is true. Logical Block Address The starting logical block address of the data to be affected by the xor operation. 238 Service Action 0004h 238 The Service Action Code for the XDWriteRead Extended (32) command. Transfer Length The number of logical blocks to be transferred to the XDWrite target for the xor operation. It also specifies the number of blocks to be written to the medium after the xor operation. Fibre Channel Interface Manual, Rev. D 351 12.74 XPWrite (10) command 51h The XPWrite (10) command requests that the target xor the data transferred with the data on the medium and then write the xor data to the medium. If the logical unit is reserved, a reservation conflict occurs when a XPWrite command is received from an initiator other than the one holding the logical unit reservation. The command is rejected with Reservation Conflict status if the reservation conflict is due to a logical unit reservation. The XPWrite command is evaluated for extent reservation conflicts. XPWrite commands with a reservation conflict is terminated with Check Condition status and the sense key is set to Data Protect with the appropriate additional sense code for the condition if any part of the XPWrite operation is prohibited by an extent reservation. Table 239: XPWrite (10) command (51h) Bit Byte 0 7 6 5 4 3 2 1 0 0 1 0 1 0 0 0 1 DPO FUA 1 Reserved 2 3 4 5 (MSB) 6 Reserved Reserved Logical Block Address (LSB) 7 (MSB) Transfer Length 8 9 Table number 239 (LSB) Control Field definitions (listed alphabetically) Control See Section 11.2.1.6. 239 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. 239 239 1 The disc drive assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The host knows the logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The host expects that logical blocks accessed by this command are likely to be accessed again in the near future. FUA (Force Unit Access) 1 The target accesses the media in performing the command prior to returning Good status. Read commands access the specified logical blocks from the media (i.e., the data in not directly retrieved from the cache). In the case where the cache contains a more recent version of a logical block than the media, the logical block is first written to the media. 0 The target satisfies the command by accessing the cache memory. For read operations, any logical blocks that are contained in the cache memory are transferred to the initiator directly from the cache memory. Logical Block Address The starting logical block address where the target reads data from its medium. This field also specifies the starting logical block address where the xor result data is written to the medium. 239 Transfer Length The number of blocks that will be read from or written to the medium. 352 Fibre Channel Interface Manual, Rev. D 12.75 XPWrite (32) command 7Fh The XPWrite (32) command requests that the target xor the data transferred with the data on the medium and then write the xor data to the medium. If the logical unit is reserved, a reservation conflict occurs when a XPWrite command is received from an initiator other than the one holding the logical unit reservation. The command is rejected with Reservation Conflict status if the reservation conflict is due to a logical unit reservation. The XPWrite command is evaluated for extent reservation conflicts. XPWrite commands with a reservation conflict is terminated with Check Condition status and the sense key is set to Data Protect with the appropriate additional sense code for the condition if any part of the XPWrite operation is prohibited by an extent reservation. Table 240: XPWrite (32) command (7Fh) Bit Byte 0 7 6 5 4 3 2 1 0 0 1 1 1 1 1 1 1 1 Control 2 : 6 Reserved 7 Additional CDB Length (18h) 8 (MSB) Service Action (0006h) 9 (LSB) 10 Reserved 11 Reserved 12 : 19 (MSB) DPO FUA Reserved Logical Block Address (LSB) 20 : 27 28 : 31 Table number 240 Reserved (MSB) Transfer Length (LSB) Field definitions (listed alphabetically) Additional CDB Length The Additional CDB Length field indicates the number of additional CDB bytes. This value in the Additional CDB Length field shall be a multiple of 4. If the number of CDB bytes delivered by the service delivery subsystem is not sufficient to contain the number of bytes specified by the Additional CDB Length field, the command shall be terminated with a Check Condition status. The sense key shall be set to Illegal Request and the additional sense code shall be set to Invalid Field in CDB. 240 Control See Section 11.2.1.6. 240 DPO (Disable Page Out) The DPO bit is used to control replacement of logical blocks in the cache memory when the host has information on the future usage of the logical blocks. Fibre Channel Interface Manual, Rev. D 353 240 240 1 The disc drive assigns the logical blocks accessed by this command the lowest priority for being fetched into or retained by the cache. The host knows the logical blocks accessed by the command are not likely to be accessed again in the near future and should not be put in the cache memory nor retained by the cache memory. 0 The host expects that logical blocks accessed by this command are likely to be accessed again in the near future. FUA (Force Unit Access) 1 The target accesses the media in performing the command prior to returning Good status. Read commands access the specified logical blocks from the media (i.e., the data in not directly retrieved from the cache). In the case where the cache contains a more recent version of a logical block than the media, the logical block is first written to the media. 0 The target satisfies the command by accessing the cache memory. For read operations, any logical blocks that are contained in the cache memory are transferred to the initiator directly from the cache memory. Logical Block Address The starting logical block address where the target reads data from its medium. This field also specifies the starting logical block address where the xor result data is written to the medium. 240 Service Action 0006h 240 The Service Action Code for the XPWrite (32) command. Transfer Length The number of blocks that will be read from or written to the medium. 354 Fibre Channel Interface Manual, Rev. D 13.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. 13.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 sections 12.11, 12.12, 12.13, and 12.14 for descriptions of the Mode Select and Mode Sense commands. Refer to Section 12.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. 13.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. 13.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 Section 12.33). 13.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. D 355 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 Section 12.13.8). 13.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. 13.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 Section 12.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 Selftest 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 Section 12.10.4). 13.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 Section 12.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. 356 Fibre Channel Interface Manual, Rev. D 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). 13.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 Section 12.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 Section 12.10.4). This is the only method an application client can use to obtain information about self-tests performed in the background mode. Table 241 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. D 357 Table 241: 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 13.2.3.2. Application client checks Device Selftest results log page (see 12.10.4) after the Progress Indication field returned from Request Sense indicates the self-test is complete. Mode 358 Device Self-test failure reporting Fibre Channel Interface Manual, Rev. D 14.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 DiscPresales@Seagate.com Technical Support: www.seagate.com/support/email/email_disc_support.html or DiscSupport@Seagate.com 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. For support, questions and comments: E-mail: partner.support@seagate.com Phone (direct): +1-405-324-4740 Phone (toll-free): 1-877-347-2444 (US and Canada), or access a complete list of region-specific international toll-free phone numbers at my.seagate.com reseller.seagate.com reseller.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 reseller.seagate.com, any time, from anywhere in the world. reseller.seagate.com partner support 24 hours a day, seven days a week: By web form: reseller.seagate.com/contact/forms By phone: Access a complete list of regional phone numbers at reseller.seagate.com/support/ Seagate Online Store US customers can purchase Seagate disc drives 24 hours daily at www.seagate.com/buy/online/. Automated Phone Services SeaFONE® (1-800-SEAGATE) is the Seagate toll-free number (1-800-732-4283) to access our automated self-help and directory assistance for Seagate support services. Using a touch-tone phone, you can find service and support phone numbers, answers to commonly asked questions, troubleshooting tips and specifications for disc drives 24 hours daily. International callers can reach this service by dialing +1-405-324-4770. Fibre Channel Interface Manual, Rev. D 359 Presales, Technical Support and Customer Service Presales Support Our Presales Support staff can help you determine which Seagate products are best suited for your specific application or computer system. 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 technical support service 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 technical support call center in your region. Warranty Service Seagate offers worldwide customer support for Seagate drives. Seagate distributors, OEMs and other direct customers should contact their Seagate service center representative for warranty-related issues. Resellers or end users of drive products should contact their place of purchase or one of the Seagate warranty service centers for assistance. Have your drive’s “ST” model number and serial number available. Authorized Service Centers In some countries outside the US, you can contact an Authorized Service Center for service. USA/Canada/Latin America Support Services 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-47003 FAX +1-405-324-4702 Technical Support Call Center Americas Warranty Service Call Center USA, Mexico and Latin America Canada Memofix5 Toll-free 1-800-468-34724 Direct dial +1-405-324-47204 FAX / Internet +1-405-324-4722 1-800-636-6349 +1-905-660-4936 +1-905-660-4951 www.memofix.com Brazil MA Centro de Serviços5 — +55-21-2509-7267 +55-21-2507-6672 www.mainformatica.com.br/produtos.htm 1Hours of operation are 8:00 A.M. to 11:45 A.M. and 1:00 P.M. to 6:00 P.M., Monday through Friday (Central time) product-specific phone number 3Hours of operation are 8:00 A.M. to 8:00 P.M., Monday through Friday (Central time) 4Hours of operation are 8:30 A.M. to 12:15 P.M. and 1:30 P.M. to 5:30 P.M., Monday through Friday (Central time) 5Authorized Service Center 2For 360 Fibre Channel Interface Manual, Rev. D European Support Services For presales and technical support in Europe, dial the toll-free number for your specific country. If your country is not listed here, 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 European warranty service, dial the toll-free number for your specific country. If your country is not listed here, dial our European call center at +31-20-316-7222 from 8:30 A.M. to 5:00 P.M. (Central Europe time) Monday through Friday. The warranty service call center is located in Amsterdam, The Netherlands. 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 0 800-20 12 90 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 0 800-20 12 90 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 European Countries (toll call) Warranty Service +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 call center at +31-20-316-7222 from 8:30 A.M. to 5:00 P.M. (Central Europe time) Monday through Friday, or send a FAX to +31-20-653-3513. The warranty service center is located in Amsterdam, The Netherlands. Fibre Channel Interface Manual, Rev. D 361 Asia/Pacific Support Services For Asia/Pacific presales and technical support, dial the toll-free number for your specific country. 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 country 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 P.M. to 7:00 P.M. November through March (Australian Eastern time) Monday through Friday, except as noted. Call Center Australia China (Chinese)1, 3 Hong Kong Hong Kong (Chinese)1, 3 India2, 3 Indonesia Japan Malaysia New Zealand Singapore Taiwan (Chinese)1, 3 Thailand Toll-free 1800-14-7201 800-810-9668 800-90-0474 001-800-0830-1730 1-600-33-1104 001-803-1-003-2165 — 1-800-80-2335 0800-443988 800-1101-150 00-800-0830-1730 001-800-11-0032165 Direct dial — +86-10-6225-5336 — — — — — — — — — — FAX — — — — — — +81-3-5462-2978 — — +65-6488-7525 — — Toll-free — 1800-12-9277 — Direct dial +65-6485-3595 — +91-44-821-6164 FAX +65-6485-4860 — +91-44-827-2461 Warranty Service Call Center Asia/Pacific Australia India3 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. 3Authorized Service Center 2Hours 362 Fibre Channel Interface Manual, Rev. D 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. Fibre Channel Interface Manual, Rev. D 363 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 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. 364 Fibre Channel Interface Manual, Rev. D 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. 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. Fibre Channel Interface Manual, Rev. D 365 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. 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 end-to-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. 366 Fibre Channel Interface Manual, Rev. D 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. 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. Fibre Channel Interface Manual, Rev. D 367 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). 368 Fibre Channel Interface Manual, Rev. D 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. Fibre Channel Interface Manual, Rev. D 369 ECL Emitter Coupled Logic. EE_buffer The buffer associated with end-to-end flow control. EE_Credit End-to-End Credit. 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). 370 Fibre Channel Interface Manual, Rev. D 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. 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. Fibre Channel Interface Manual, Rev. D 371 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. 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. 372 Fibre Channel Interface Manual, Rev. D 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. GAID Get Alias_ID. Hard address The AL_PA which an NL_Port attempts to acquire in the LIHA Loop Initialization Sequence. Fibre Channel Interface Manual, Rev. D 373 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. 374 Fibre Channel Interface Manual, Rev. D 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. 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. Fibre Channel Interface Manual, Rev. D 375 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. 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 3. A document artifice used to group related architectural functions. No specific correspondence is intended between levels and actual implementations. 4. 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. 376 Fibre Channel Interface Manual, Rev. D 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. 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. Fibre Channel Interface Manual, Rev. D 377 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. 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. 378 Fibre Channel Interface Manual, Rev. D 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. Fibre Channel Interface Manual, Rev. D 379 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. 380 Fibre Channel Interface Manual, Rev. D 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. 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. Fibre Channel Interface Manual, Rev. D 381 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. Fabricassigned 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. 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. 382 Fibre Channel Interface Manual, Rev. D 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. 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 to achieve a BER <10-12. Note. (See FC-PI-2, Section 5.9, Interoperability points, Figure 10, where nector). Fibre Channel Interface Manual, Rev. D gR gR = Bulkhead Receiver Con- 383 Receiver sensitivity g The minimum acceptable value of average received signal at point R 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 nector). gR = Bulkhead Receiver Con- 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. 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. 384 Fibre Channel Interface Manual, Rev. D 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. D 385 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. 386 Fibre Channel Interface Manual, Rev. D 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. 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). Fibre Channel Interface Manual, Rev. D 387 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. 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. 388 Fibre Channel Interface Manual, Rev. D 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 FCPH is byte-oriented, with: 1. Valid data bytes; and 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. Fibre Channel Interface Manual, Rev. D 389 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 FCPH. 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. 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. 390 Fibre Channel Interface Manual, Rev. D 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. Fibre Channel Interface Manual, Rev. D 391 392 Fibre Channel Interface Manual, Rev. D Index Numerics 10-bit character 13 8045 ESI pinouts 103 8045 mode 102 8067 ESI command 104 8067 ESI interface pinouts 105 8067 information format 105 8067 mode 104 A Abort Prefetch Caching Parameters page 230 Abort Sequence 52, 53 Abort Task Set FCP CMND Payload 128 Aborted Command disc drive sense keys 149 ABPF. See Abort Prefetch ABTS. See Abort Sequence ACA. See Auto Contingent Allegiance access fairness algorithm 47, 48 access unfairness 48 access window 47 ACK. See Acknowledge Acknowledge_0 Capable Class Service Parameters 62 Initiator Control fields 63 Recipient Control fields 63 Acknowledge_N Capable Class Service Parameters 62 Initiator Control fields 63 Recipient Control fields 63 acoustics 217 Action Code Device Address page 114 Device Identification page 117, 123 Device Standard Inquiry Data 113 Device Temperature page 118 Enclosure Initiated ESI Page Format 112 Enclosure Request 110 ESI Data Validation Accept 124 ESI data validation accept 124 Link Status page 120, 121 Loop Position Map page 116 Port Parameters page 119 Spin-Down Control Status page 123 Action Specific Enclosure Request 110, 111 Activate Persist Through Power Loss Persistent Reserve Out parameter list 256 Active Notch Fibre Channel Interface Manual, Rev. D Notch page 235 Actual Retry Count Actual Retry Count bytes 148 Actual Retry Count bytes Sense Key Specific 148 Additional CDB Length XDRead (32) command 343, 344 XDWrite (32) command 347, 348 XDWriteRead (32) command 350 XPWrite (32) command 353 Additional Length 292 disc drive inquiry data 170 Persistent Reserve In parameter data for read reservations 251 Persistent Reserve In parameter data for ready keys 250, 251 additional sense data 296 Additional Sense Code Device Self-test Results Log parameter data format 202 Extended Sense Data 145 Self-test Results Log parameter data format 202 Additional Sense Code Qualifier Device Self-test Results Log parameter data format 202 Extended Sense Data 145 Self-test Results Log parameter data format 202 Additional Sense Length Extended Sense Data 145, 146 Address field logical block address format 291 Address field physical sector address format 291 Address To Translate Translate Address page–Send Diagnostic 308 ADISC. See Discover Address AENC. See Asynchronous Event Notification Capability AL_PA 50 AL_PA. See Arbitrated Loop Physical Address AL_PD 47 Allocation Length CDB 133 Inquiry command 168 Log Sense command 190 Mode Sense command 211, 246 Persistent Reserve In command 249 Read Buffer command 270 Read Capacity (16) command 275 Read Defect Data command 277, 280 Receive Diagnostic Results command 287 Report Device Identifier command 294 Report LUNs 296 Report LUNs command 296 Request Sense command 298 Set Device Identifier command 310 Index-1 Allow Login Without Loop Initialization Fibre Channel Interface Control page 239 Alternate Credit Model F_Port Common Service Parameters 68, 69 N_Port Common Service Parameters 60, 61 Alternate Sector Translate Address page–Receive Diagnostic 290 Alternate Sectors Per Zone Format Parameters page 223, 224 Alternate Track Translate Address page–Receive Diagnostic 290 Alternate Tracks Per Volume Format Parameters page 223, 224 Alternate Tracks Per Zone Format Parameters page 223, 224 ALTSEC. See Alternate Sector ALTTRK. See Alternate Track ALWLI. See Allow Login Without Loop Initialization 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 68 N_Port Common Service Parameters 60, 61, 69 ANSI standards 5 ANSI-Approved Version disc drive inquiry data 170, 171 APTPL. See Activate Persist Through Power Loss ARB(F0) 42, 47 Arbitrated Loop Physical Address 33, 47, 48 Select-ID mapping 182 Arbitrated Loop topology 10 arbitration 47 arbitration primitive 46 ARBx 42, 46 ARRE. See Automatic Read Reallocation of defective data blocks Enabled ASCII Model Number Device Behavior page 183 assigned AL_PA values 50 Association Identification Descriptor 176 Identification Descriptor structure 177 Identification descriptor structure 177 Association Header RRQ Payload 88 Asynchronous Event Notification Capability disc drive inquiry data 170 asynchronous transmission 4 Auto Contingent Allegiance Queue FCP CMND Payload 129 Index-2 Automatic Read Reallocation of defective data blocks Enabled Error Recovery page 218 Automatic Write Reallocation of defective data blocks Enabled Error Recovery page 218 AWRE. See Automatic Write Reallocation of defective data blocks Enabled B BA_ACC. See Basic Accept BA_RJT. See Basic Reject background mode 356 Basic Accept 52, 54 Basic Accept Payload 54 basic link services 52 Basic Queuing disc drive inquiry data 170, 171 Basic Reject 52, 55 basic services replies 52 BB_Credit. See buffer to buffer credit Behavior Code Device Behavior page 183 Behavior Code Version Number Device Behavior page 183 Bit Pointer Field Pointer bytes 147 Bit Pointer Valid Field Pointer bytes 147 Block Descriptor Data Mode Select parameter list 208 Mode Sense data 247 Mode Sense parameter list 213 Block Descriptor Length Mode Select parameter list 208 Mode Sense data 247 Mode Sense parameter list 213 Block Length Mode Select parameter list 208 Mode Sense parameter list 213 Read Capacity data 274 blocking environment 49 blocking switch emulation 49 BPV. See Bit Pointer Valid BQue. See Basic Queuing 170 Broadcast F_Port Common Service Parameters 68, 69 Buffer Capacity Read Buffer descriptor mode 271 Read Buffer header 271 Buffer Empty Ratio Disconnect/Reconnect Control page 221 Buffer Full Ratio Disconnect/Reconnect Control page 221 Buffer ID Fibre Channel Interface Manual, Rev. D Read Buffer command 270 Write Buffer command 335 Buffer ID and Buffer Offset fields Download and Save Microcode mode 337 Buffer Offset Read Buffer command 270 Write Buffer command 335 buffer to buffer credit 29 transfer 14 Buffer to Buffer Credit F_Port Common Service Parameters 68 N_Port Common Service Parameters 60 Buffered Class 1 Class 3 Service Parameters 70 Service Option Class 3 fields 70 Burst Length FCP XFER RDY Payload 136 Bus Inactivity Limit Disconnect/Reconnect Control page 221, 222 Busy Timeout Period Control Mode page 233 BytChk. See Byte Check Byte Check Verify (10) command 317 Verify (12) command 318 Verify (16) command 320 Write and Verify (10) command 330 Write and Verify (12) command 331 Write and Verify (16) command 333 Byte Transfer Length Download and Save Microcode mode 337 Read Long command 284 Write Buffer command 335 Write Long command 339 XDRead (32) command 343, 344 XDRead command 342 C C/D. See Command Data cable length 4 cache memory 258, 260 Cache Segment Size Caching Parameters page 230 Cache Statistics page 204 Caching Analysis Permitted Caching Parameters page 230 Caching Parameters page 230 Camp-on Class 3 Service Parameters 70 Service Option Class 3 fields 70 CAP. See Caching Analysis Permitted Capability Entries RNC Payload 94 Categories per Sequence Fibre Channel Interface Manual, Rev. D Class Service Parameters 62 Recipient Control fields 64 CDB. See Command Descriptor Block Change Definition command 160 channel level error recovery 51 channels 3 check condition status 248, 283, 293, 296, 299, 302, 312 Class 3 delimiters 17 class of service 31 Class Service Parameters 62, 70 Class Valid Class 3 Service Parameters 70 Class Service Parameters 62 Service Option Class 3 fields 70 Service Option fields 64 Clear 250, 255 Clear ACA FCP CMND Payload 128 Clear Task Set FCP CMND Payload 128 Clock skew management 48 CLS 43 CMP LST. See Complete List Code Set Idenfitication Descriptor structure 177 Identification Descriptor 176 Identification Descriptor structure 177 Combined Header and Data mode 337 Command Code 130 RFT_ID Payload 99, 100 command code 97, 130 Command Data Field Pointer bytes 147 command descriptions 155 Command Descriptor Block 130 Defect List Header description 279, 282 FCP CMND Payload 128 Read Defect Data command 277 Command initiate parameter format 199 Command Queuing disc drive inquiry data 170, 171 Command Specific Data Extended Sense Data 145, 146 Command/Data Mixed PRLI Accept Payload 74 PRLI Payload 72 Commands 155 Common Features F_Port Common Service Parameters 69 N_Port Common Service Parameters 61 common transport header 97 Company Identifier Assigned by IEEE Node/Port Name format 59 Compare command 160 Index-3 Compile Date Date Code page 180 Complete List Format Unit command 161 Concurrent Sequences Class Service Parameters 62 Connect Time Limit Disconnect/Reconnect Control page 221, 222 Continuous Increase SEQ_CNT F_Port Common Service Parameters 68 N_Port Common Service Parameters 60, 61 Continuously Increasing Offset F_Port Common Service Parameters 68, 69 N_Port Common Service Parameters 60, 61 Control Format Unit command 161 Inquiry command 168 Lock-Unlock Cache (10) command 184 Lock-Unlock Cache (16) command 185 Log Select command 187 Log Sense command 190 Mode Select command 206, 210 Mode Sense command 211, 246 Persistent Reserve In command 249 Persistent Reserve Out command 254 Prefetch (10) command 258 Prefetch (16) command 259 Read (10) command 264 Read (12) command 266 Read (16) command 268 Read (6) command 262 Read Buffer command 270 Read Capacity (10) command 273 Read Capacity (16) command 275 Read Defect Data command 277, 280 Read Long command 284 Reassign Blocks command 285 Receive Diagnostic Results command 287 Report Device Identifier command 294 Report LUNs command 296 Request Sense command 298 Seek (10) command 303 Send Diagnostic command 304 Set Device Identifier command 310 Start/Stop Unit command 313 Synchronize Cache (10) command 314 Synchronize Cache (16) command 315 Test Unit Ready command 316 Verify (10) command 317 Verify (12) command 318 Verify (16) command 320 Write (10) command 324 Write (12) command 326 Write (16) command 328 Write (6) command 322 Index-4 Write and Verify (10) command 330 Write and Verify (12) command 331 Write and Verify (16) command 333 Write Buffer command 335 Write Long command 339 Write Same (10) command 340 Write Same (16) command 341 XDRead (32) command 343, 344 XDRead command 342 XDWrite (10) command 345, 348 XDWrite (32) command 347 XDWriteRead (10) command 349 XDWriteRead (32) command 350, 351 XPWrite (10) command 352 XPWrite (32) command 353 Control Byte CDB 133 CDB six-byte 131 CDB ten-byte 131 Download and Save Microcode mode 337 Control Mode page 233 control operations 125 Copy and Verify command 160 Copy command 160 Copyright Notice disc drive inquiry data 170, 171 CORRECT. See Corrected Corrected Read Long command 284 Correction Span Error Recovery page 218, 219 CRC. See Cyclic Redundancy Check credit 29 current and deferred errors 153 Current Operating Definition Implemented Operating Definition page 175 Cyclic Redundancy Check 28 Cylinder Number Address field physical sector address format 291 Cylinder Skew Factor Format Parameters page 223, 224 D D_ID. See Destination Identifier Data Enclosure Initiated ESI Page Format 112 Data Bytes Per Physical Sector Format Parameters page 223, 224 data character 15 data encoding 13 data field 28 Data Field Control basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 Fibre Channel Interface Manual, Rev. D FCP CMND header 126, 127 FCP DATA frame header 137, 138 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 24 Data Length FCP CMND Payload 128 Data Overlay Allow PRLI Accept Payload 74, 75 PRLI Payload 72, 73 Data Protect disc drive sense keys 149 Data Strobe Offset Count Error Recovery page 218, 219 Data Structure Type Frame header format 27 data transfer 330, 331, 333 Data Transfer Disconnect Control Disconnect/Reconnect Control page 221, 222 Data/Response Allowed PRLI Accept Payload 75 Data/Response Mix PRLI Accept Payload 74 PRLI Payload 72, 73 Date Code page 173, 180 DCR. See Disable Correction DCRT. See Disable Certification DDIS. See Disable Discovery decoding 13 Dedicated Simplex Class 3 Service Parameters 70 F_Port Common Service Parameters 68, 69 Service Option Class 3 fields 70 Default Number of Cache Segments Device Behavior page 183 Default Operating Definition Implemented Operating Definition page 175 default self-test 355 diagnostic data bytes 292 Defect Descriptor Defect List formats 166 Format Unit parameter list 166 Defect Descriptor Bytes Defect List Header description 279, 282 Defect descriptor bytes–Index format 166 Defect descriptor bytes–Physical Sector format 167 Defect List Format 166 Defect List Header description 279, 282 Format Unit command 161 Read Defect Data command 277, 278, 280 Defect List Header 164 Format Unit parameter list 164 Defect List Header description 279, 282 Defect List Length Defect List header 164 Fibre Channel Interface Manual, Rev. D Defect List Header description 279, 282 Reassign Blocks defect list 286 Defect Logical Block Address Reassign Blocks defect list 286 Defect logical block address Reassign Blocks defect list 286 deferred errors 153 Demand Read Retention Priority Caching Parameters page 230, 231 Density Code Mode Select parameter list 208 destination device 47 Destination Identifier 41 basic link services header 52 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 138 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 24 Device Behavior page 173, 183 Device ID Data Device Identification page 117 Device Identification page 117, 173, 176 device self-test mode 356 Device Self-test Results Log page 201 Device Self-test Results Log parameter data format 202 device server 296 DEVOFL. See SCSI Device Off Line DExcpt. See Disable Exception Control DF_CTL. See Data Field Control Diagnostic page–Send Diagnostic command 309 DImm. See Disconnect Immediate Disable Certification Defect List header 164 Disable Correction Error Recovery page 218, 219 Verify Error Recovery page 228 Disable Discovery Fibre Channel Interface Control page 239 Disable Exception Control Informational Exceptions Control page 243 Disable Loop Master Fibre Channel Interface Control page 239, 240 Disable Page Out Read (10) command 264 Read (12) command 266 Read (16) command 268 Verify (10) command 317 Verify (12) command 318 Verify (16) command 320 Write (10) command 324 Write (12) command 326 Index-5 Write (16) command 328 Write and Verify (10) command 330 Write and Verify (12) command 331 Write and Verify (16) command 333 XDWrite (10) command 345, 348 XDWrite (32) command 347 XDWriteRead (10) command 349 XDWriteRead (32) command 350, 351 XPWrite (10) command 352 XPWrite (32) command 353 Disable Page Out–Force Unit Access Mode Sense data 247 Mode Sense parameter list 213 Disable Prefetch Transfer Length Caching Parameters page 230, 231 Disable Primary Defect List header 164 Disable Queuing Control Mode page 233 Disable Read-Ahead Caching Parameters page 230, 231 Disable Save Log Parameter structure 192 Disable Saving Parameters Defect List header 164 Disable Soft Address Fibre Channel Interface Control page 239, 240 Disable Target Fabric Discovery Fibre Channel Interface Control page 239, 240 Disable Target Initiated Port Enable Fibre Channel Interface Control page 239, 240 Disable Target Oriented Loop Initialization Fibre Channel Interface Control page 239, 240 Disable Transfer on Error Error Recovery page 218, 219 Verify Error Recovery page 228 Disable Update Log Parameter structure 192 Disable Write XDWrite (10) command 345, 348 XDWrite (32) command 347 XDWriteRead (10) command 349 XDWriteRead (32) command 350, 351 Disc Drive Extended Sense Data Summary 145 disc drive inquiry data 170 DISC. See Discontinuity Disconnect Immediate Disconnect/Reconnect Control page 221, 222 Disconnect Time Limit Disconnect/Reconnect Control page 221, 222 Disconnect/Reconnect Control page 221 Discontinuity Caching Parameters page 230, 231 Discover Address 91 Discover Address Accept Payload 93 Index-6 Discover Address Payload 91 discovery process 101 disparity 33 DL. See Data Length DLM. See Disable Loop Master Document Identifier Capability Entries 94 Download Microcode and Save mode 337 Download Microcode with Offsets and Save mode 338 DPO. See Disable Page Out DPO-FUA. See Disable Page Out–Force Unit Access DPRY. See Disable Primary DQue. See Disable Queuing DRA. See Disable Read-Ahead Drive Capabilities Port Parameters page 119 drive features 355 Drive Serial Number disc drive inquiry data 170, 171 Drive Step Rate Rigid Disc Drive Geometry Parameters page 226 Drive Type Format Parameters page 223, 224 DS. See Disable Save DSA. See Disable Soft Address DSP. See Disable Saving Parameters DTDC. See Data Transfer Disconnect Control DTE. See Disable Transfer on Error DTFD. See Disable Target Fabric Discovery DTIPE. See Disable Target Initiated Port Enable DTOLI. See Disable Target Oriented Loop Initialization DU. See Disable Update Dual Port disc drive inquiry data 170, 171 Dynamic Half Duplex F_Port Common Service Parameters 68, 69 N_Port Common Service Parameters 60, 61 E E_D_TOV. See Error Detect Timeout Value EDV. See ESI Data Validation EE_Credit. See End-to-end Credit EER. See Enable Early Recovery element 252 EMDP. See Enable Modify Data Pointers Enable Early Recovery Error Recovery page 218, 219 Verify Error Recovery page 228, 229 Enable Modify Data Pointers Disconnect/Reconnect Control page 221, 222 Enable SpinDn Ctrl Spin-Down Control Status page 123 Fibre Channel Interface Manual, Rev. D Enable Spin-Down Spin-Down Control Status page 123 Enable Threshold Comparison Log Parameter structure 192, 193 Enable Vital Product Data Inquiry command 168 enclosure request 124 enclosure requested information 110 Enclosure Services disc drive inquiry data 170, 171 enclosure services interface 101 command format 104 Enclosure Services Interface Page Device Address page 114 Device Identification page 117, 123 Device Standard Inquiry Data 113 Device Temperature page 118 Enclosure Initiated ESI Page Format 112 ESI data validation accept 124 Link Status page 120, 121 Loop Position Map page 116 Port Parameters page 119 Spin-Down Control Status page 123 Encoding and decoding 13 ENCSER. See Enclosure Services End of Medium Extended Sense Data 145, 146 Ending Boundary Notch page 235 End-of-frame (EOF) delimiter 16, 28 End-of-frame Normal 18 End-of-frame primitive 17 End-of-frame Terminate 18 End-to-end Credit 29 End-to-end credit 29 EOF. See End-of-frame EOM. See End of Medium Equal disc drive sense keys 149 equal acces 47 Error Code Extended Sense Data 145, 146 Error codes for bytes 12 and 13 of sense data 150 Error Detect Timeout Value 47 N_Port Common Service Parameters 60, 61 timer 43 Error Detect Timeout Value Resolution F_Port Common Service Parameters 68, 69 N_Port Common Service Parameters 60, 61 Error Policy Class Service Parameters 62 Recipient Control fields 63 error recovery 51 Error Recovery page 218 Fibre Channel Interface Manual, Rev. D ESI command 124 ESI data validation 124 ESI data validation accept 124 ESI Page ESI data validation accept 124 ESI transfer phase 124 ESI. See enclosure services interface Establish Image Pair PRLI Accept Payload 74, 75 PRLI Payload 72, 73 ETC. See Enable Threshold Comparison EVPD. See Enable Vital Product Data EWasc Informational Exceptions Control page 243 exchange 28 Exchange Identifier Interlock Class Service Parameters 62 Recipient Control fields 63 Exchange Identifier Reassignment Class Service Parameters 62 Initiator Control fields 63 Exclusive Access 253 Registrants Only 253 Explanation Code RFT_ID Payload 99, 100 extended link services 56, 96 extended link services header 56 extended self-test 355 Extended Self-Test Routine Completion Time Control Mode page 233 Extended Self-test Routine Completion Time Control Mode page 233 Extended Sense Data Format 145 F F_CTL. See Frame Control F_Port. See Fabric Port Fabric 10 Fabric Login 67 Fabric Login Accept Payload 71 Fabric Login Payload 67 Fabric Port F_Port Common Service Parameters 68, 69 N_Port Common Service Parameters 60, 61 Fabric Port Common Service Parameters FLOGI ACC Payload 71 fabric topologies 48 Factory Log page 205 fair NL_Port 47, 48 FC common transport 97 FC Implementation Guide 7 FC Service Sub Type RFT_ID Payload 100 FC Services Sub Type RFT_ID Payload 99 Index-7 FC Services Type Code RFT_ID Payload 99, 100 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 99, 100 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 FCP_Port Identifier. See Fibre Channel Protocol Port Identifier Feature flags and additional byte fields Device Behavior page 183 Fibre Channel Arbitrated Loop Direct Attach SCSI Technical Report 5 primitive signals 18 Fibre Channel Fabric Loop Attach Technical Report 5 Fibre Channel Interface Control page 239 Fibre Channel levels 6 Fibre channel link format 199 Fibre Channel link services 51 Fibre Channel Physical and Signaling 5 Fibre Channel Protocol 125 Command Header 126 Command Payload 128 Data frame header 137 Response header 140 Response Payload 142 Transfer Ready header 134 Transfer Ready Payload 136 Fibre Channel Protocol Command 125, 126 Fibre Channel Protocol Data 132, 137 Fibre Channel Protocol Port Identifier Parameter list format–3rdPty addressing 301 Fibre Channel Protocol Response 125, 140 Fibre Channel Protocol Transfer Ready 134 Field Pointer Field Pointer bytes 147 Field Pointer bytes Sense Key Specific 147 Filemark Extended Sense Data 145, 146 Firmware Error disc drive sense keys 149 Firmware Numbers page 173, 179 Firmware Release Number Firmware Numbers page 179 Index-8 First reservation key Persistent Reserve In parameter data for ready keys 250 Flag CDB Control Byte 133 Flags Capability Entries 94 FLOGI. See Fabric Login FMT DATA. See Format Data Force Sequential Write Caching Parameters page 230, 231 Force Unit Access Read (10) command 264 Read (12) command 266 Read (16) command 268 Write (10) command 324 Write (12) command 326 Write (16) command 328 XDWrite (10) command 345, 348 XDWrite (32) command 347 XDWriteRead (10) command 349 XDWriteRead (32) command 350, 351 XPWrite (10) command 352 XPWrite (32) command 353, 354 foreground mode 356 Format Data Format Unit command 161 Format Indication bytes Sense Key Specific 148 Format Options Valid Defect List header 164 Format Parameters page 223 Format Unit command 161 FOV. See Format Options Valid Frame Control basic link services header 52, 53 bit description 138 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 138 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 24, 25 frame delimiters 16 frame header 24 frame sequence 28 frame structure 23 frames 23 FSW. See Force Sequential Write G G List Read Defect Data command 280 Generation Fibre Channel Interface Manual, Rev. D Persistent Reserve In parameter data for read reservations 251 Persistent Reserve In parameter data for ready keys 250, 251 Global Logging Target Save Disable Control Mode page 233, 234 Global Process Logout TPRLO Accept Payload 83 TPRLO Payload 81 GLTSD. See Global Logging Target Save Disable good status 258, 260 Group Code 130 H Hard Address of Originator ADISC Payload 91 Hard Address of Responder ADISC Accept Payload 93 Hard Sectoring Format Parameters page 224 Hard Sectoring Drive Type Format Parameters page 223 Hardware Error 147 disc drive sense keys 149 Head Number Address field physical sector address format 291 Head of Queue FCP CMND Payload 129 Head Offset Count Error Recovery page 218, 219 Hierarchical Support disc drive inquiry data 170, 171 hierarchical support bit 296 HSEC. See Hard Sectoring Hunt Groups F_Port Common Service Parameters 68, 69 I IC. See Initiator Control Identification Descriptor Device Identification page 176 Identification descriptor list Device identification page 176 Identifier Identification Descriptor 176 Identification Descriptor structure 177 Report Device Identifier parameter list 295, 311 Identifier Length Identification Descriptor structure 177 Report Device Identifier parameter list 295 Identifier Type Identification Descriptor 176 Identification Descriptor structure 177 Idle 16, 47 Fibre Channel Interface Manual, Rev. D Power Condition page 241 Idle Condition Timer Power Condition page 241 IL. See Inquiry Length ILI. See Incorrect Length Indicator Illegal Request 147 disc drive sense keys 149 Read (10) command 265 Read (12) command 267 Read (16) command 269 Read (6) command 263 illegal request 296 Immediate Defect List header 164, 165 Prefetch (10) command 258 Prefetch (16) command 259 Start/Stop Unit command 313 Synchronize Cache (10) command 314 Synchronize Cache (16) command 315 Implementation Guide 7 Implemented Operating Definition page 173, 175 Incorrect Length Indicator Extended Sense Data 145, 146 Information Bytes Extended Sense Data 145, 146 Informational Exceptions Control page 243 initial AL_PA 41 Initial Process Associator Class Service Parameters 62 Initiator Control fields 63 Initialization Pattern Defect List header 164, 165 Initialization Pattern descriptor 165 Initialization Pattern Descriptor Format Unit parameter list 165 Initialization Pattern descriptor 165 Initialization Pattern Length Initialization Pattern descriptor 165, 166 Initialization Pattern Modifier Initialization Pattern descriptor 165 Initiator Control Caching Parameters page 230, 231 Class Service Parameters 62, 63 Initiator Control fields Class Service Parameters 63 Initiator Function PRLI Accept Payload 74, 75 PRLI Payload 72, 73 Inquiry command 168, 169 Inquiry Data Device Standard Inquiry Data 113 inquiry data disc drive 170 Inquiry Length Unit Attention page 216 Index-9 Interleave Format Parameters page 223, 224 Format Unit command 161, 162 intermediate status 258, 260 intermediate–condition met status 258, 260 Intermix Mode Class 3 Service Parameters 70 Class Service Parameters 62 Service Option Class 3 fields 70 Service Option fields 64 Interval Timer Informational Exceptions Control page 243 Invalid CRC Count. See Invalid Cyclic Redundancy Check Count Invalid Cyclic Redundancy Check Count Link Status page 120, 121 RLS Accept Payload 86 invalid field in CDB 296 Invalid logical block address Read (10) command 265 Read (12) command 267 Read (16) command 269 Read (6) command 263 Write (10) command 325 Write (12) command 327 Write (16) command 329 Write (6) command 323 Invalid Transmission Word RLS Accept Payload 86, 87 Invalid Transmission Word Count Link Status page 120, 121 IP Modifier. See Initialization Pattern Modifier IP. See Initialization Pattern J JIT. See Just In Time Jumper Settings page 173, 181 Just In Time Unit Attention page 216 L L_Port 48 Landing Zone Cylinder Rigid Disc Drive Geometry Parameters page 226, 227 Last reservation key Persistent Reserve In parameter data for ready keys 250 LBA of First Failure Device Self-test Results Log parameter data format 202 Self-test Results Log parameter data format 202 LBCSS. See Logical Block Cache Segment Size Index-10 Length of Response Information FCP RSP Payload 142 Length of Sense Information FCP RSP Payload 142 LESB. See Link Error Status Block levels Fibre Channel 6 LIFA 42, 43 LIHA 42, 43 LILP 43, 44 Link CDB Control Byte 133 link 10, 23 Link Error Status Block 85, 86 Link Failure Count Link Status page 120, 121, 122 RLS Accept Payload 86, 87 link service frames 51 Link Service Reject 96 Link Service Reject Payload 96 Link Services Command Code 56 ADISC Accept Payload 93 ADISC Payload 91 FLOGI ACC Payload 71 FLOGI Payload 67 LOGO Accept 66 LOGO Payload 66 LS_RJT Payload 96 PLOGI ACC Payload 65 PLOGI Payload 58 PRLI Accept Payload 74, 75 PRLI Payload 72, 73 PRLO Accept Payload 79 PRLO Payload 77 RLS Accept Payload 86, 87 RLS Payload 85 RNC Payload 94, 95 RRQ Accept Payload 89 RRQ Payload 88 TPRLO Accept Payload 83 TPRLO Payload 81 Link Status page 120 Link Status Page Change Port Parameters page 119 Link_Reset 20 Link_Reset_Response 20 Linked Command disc drive inquiry data 170, 171 LIP 37 LIP F7 Initiated Count Link Status page 120, 121, 122 LIP F7 Received Count Link Status page 120, 121 LIP F8 Initiated Count Link Status page 120, 121 Fibre Channel Interface Manual, Rev. D LIP F8 Received Count Link Status page 120, 121 LIP Loop A/B Initiate LIP Action Specific Bits 111, 123 LIPA 42, 43 LIRP 43, 44 LISA 43 LISM 36, 41 List Binary Log Parameter structure 192, 193 List Parameter Log Parameter structure 192, 193 Lock Lock-Unlock Cache (10) command 184 Lock-Unlock Cache (16) command 185 Lock-Unlock Cache (10) command 184 Lock-Unlock Cache (16) command 185 Log Errors Informational Exceptions Control page 243 Log Page codes 194 Log Page format 191 Log Parameter Log Page format 191, 192 Log Parameter structure 192 Log Page format 191, 192 Log Select command 187 Log Sense command 190 LogErr. See Log Errors Logical Block Address 131, 132 Address field logical block address format 291 CDB 132 CDB six-byte 131 CDB ten-byte 131 Lock-Unlock Cache (10) command 184 Lock-Unlock Cache (16) command 185 Prefetch (10) command 258 Prefetch (16) command 259 Read (10) command 264 Read (12) command 266 Read (16) command 268, 269 Read (6) command 262 Read Capacity (10) command 273 Read Capacity (16) command 275 Read Long command 284 Seek (10) command 303 Synchronize Cache (10) command 314 Synchronize Cache (16) command 315 Verify (10) command 317 Verify (12) command 318 Verify (16) command 320 Write (10) command 324 Write (12) command 326 Write (16) command 328 Write (6) command 322 Write and Verify (10) command 330 Fibre Channel Interface Manual, Rev. D Write and Verify (12) command 331 Write and Verify (16) command 333 Write Long command 339 Write Same (10) command 340 Write Same (16) command 341 XDRead (32) command 343, 344 XDRead command 342 XDWrite (10) command 345, 346, 348 XDWrite (32) command 347 XDWriteRead (10) command 349 XDWriteRead (32) command 350, 351 XPWrite (10) command 352 XPWrite (32) command 353, 354 Logical Block Cache Segment Size Caching Parameters page 230, 231 Logical Block data Write Same (10) command 340 Write Same (16) command 341 Logical or Physical Notch Notch page 235, 236 logical unit 252 Logical Unit Number FCP CMND Payload 128, 129 logical unit number address 296 Logical Unit Number List Report LUNs parameter list format 297 Logical Unit Number List Length Report LUNs parameter list format 297 Logical Unit Off Line Send Diagnostic command 304, 306 Logical unit reservation 300 LOGO. See Port Logout Logout Payload 66 loop initialization 37, 45 loop failure, no valid AL_PA 21 loop failure, valid AL_PA 21 no valid AL_PA 21 reset 21 reset all 21 sequences 36, 42 state machine 45 steps 50 valid AL_PA 21 Loop Initialization Primitive (LIP) sequences 37 Loop Map Port x Loop Position Map page 116 loop port 48 bypass 21 bypass all 21 enable 21 enable all 21 Loop Position Map page 116 loop protocol 50 loop reinitialization 46 Index-11 Loss of Signal Count Link Status page 120, 121, 122 RLS Accept Payload 86, 87 Loss of Synchronization Count Link Status page 120, 121, 122 RLS Accept Payload 86, 87 Low Revision Capability Entries 94 LP. See List Binary LP. See List Parameter LPN. See Logical or Physical Notch LS Command Code. See Link Services Command Code LS_RJT. See Link Service Reject LUN List Length Report LUNs parameter list format 297 LUN. See Logical Unit Number M Maximum Burst Size Disconnect/Reconnect Control page 221, 222 Maximum Interleave Device Behavior page 183 Maximum Number of Notches Notch page 235, 236 Maximum Prefetch Caching Parameters page 230, 231 Maximum Prefetch Ceiling Caching Parameters page 230, 231 Maximum Rebuild Read Size XOR Control Mode page 237 Maximum Regenerate Size XOR Control Mode page 237 Maximum XOR Write Size XOR Control Mode page 237 Medium Error 147 disc drive sense keys 149 Read (10) command 265 Read (12) command 267 Read (16) command 269 Read (6) command 263 Medium Rotation Rate Rigid Disc Drive Geometry Parameters page 226, 227 Medium Type Mode Select parameter list 208 Mode Sense data 247 meshed environment 49 Method of Reporting Informational Exceptions Informational Exceptions Control page 243, 244 MF. See Multiplication Factor Minimum Prefetch Caching Parameters page 230, 231 Miscompare Index-12 disc drive sense keys 149 Mode Read Buffer command 270 Write Buffer command 335 Mode definitions Write Buffer command 336 Mode Parameters Mode Select page descriptor header 209 Mode Sense page descriptor header 214 Mode Select command 206, 210 Mode Select Page 8 348, 349, 351 Mode Select page descriptor header 209 Mode Select Page Headers Mode Select parameter list 208, 209 Mode Select parameter list 208 Mode Sense command 211, 246 CDB 132 Mode Sense data 247 Mode Sense page descriptor header 214 Mode Sense Page Headers Mode Sense data 247 Mode Sense parameter list 213, 214 Mode Sense parameter list 213 monitoring state 46 Move Medium command 248 MRIE. See Method of Reporting Informational Exceptions Multicast F_Port Common Service Parameters 68, 69 Multiplication Factor Caching Parameters page 230, 231 N N_Port. See Node Port NACA. See Normal Auto Contingent Allegiance ND. See Notched Drive Network Address ID Node/Port Name format 59 neutral disparity 33 NL_Ports 48 No Sense disc drive sense keys 149 Node Name Device Address page 114 FLOGI ACC Payload 71 FLOGI Payload 67 PLOGI ACC Payload 65 PLOGI Payload 58, 67 Node Name of Originator ADISC Payload 91, 92 Node Name of Responder ADISC Accept Payload 93 Node Port Common Service Parameters FLOGI Payload 67 PLOGI ACC Payload 65 Fibre Channel Interface Manual, Rev. D PLOGI Payload 58, 67 Node Port End to End Credit Class Service Parameters 62, 63 Node Port ID of Originator ADISC Payload 91, 92 Node Port ID of Responder ADISC Accept Payload 93 Node Port Identifier LOGO Payload 66 Node/Port Name format 59 Node/Port Name format 59 nodes 23 Non-Cache Segment Size Caching Parameters page 230, 231 Non-Medium Error page 197 non-meshed environment 49 Normal Auto Contingent Allegiance CDB Control Byte 133 disc drive inquiry data 170, 171 Reassign Blocks command 285 Not Ready 147 disc drive sense keys 149 Not_Operational 20 Notch page 235, 237 Notched Drive Notch page 235, 236 Number of Blocks Lock-Unlock Cache (10) command 184 Lock-Unlock Cache (16) command 185 Mode Select parameter list 208, 209 Mode Sense parameter list 213, 214 Synchronize Cache (10) command 314 Synchronize Cache (16) command 315 Write Same (10) command 340 Write Same (16) command 341 Number of Cache Segments Caching Parameters page 230, 232 Number of Cylinders Rigid Disc Drive Geometry Parameters page 226, 227 Number of Heads Rigid Disc Drive Geometry Parameters page 226, 227 O Offline 20 Offset Frame header format 24, 25 Offset Boundary Read Buffer descriptor mode 271, 272 Offset Port x Loop Position Map page 116 Open Sequences per Exchange Class Service Parameters 62, 63 operating parameters 51 Fibre Channel Interface Manual, Rev. D Operation Code 130 CDB six-byte 131, 132 CDB ten-byte 131 format for CDB 130 Lock-Unlock Cache (10) command 184 Lock-Unlock Cache (16) command 185, 186 Log Sense command 190 Prefetch (10) command 258 Prefetch (16) command 259 Report Device Identifier command 294, 310 Set Device Identifier command 310 OPNyx 47 Options RFT_ID Payload 99, 100 Ordered Queue FCP CMND Payload 129 Ordered sets 15 Originator Exchange Identifier basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 138 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 24, 26 RRQ Payload 88 Originator Exchange Identifier, Aborted BA_ACC Payload 54 Originator Process Associator PRLI Accept Payload 74, 75 PRLI Payload 72, 73 PRLO Accept Payload 79 PRLO Payload 77 Originator Source Identifier RRQ Payload 88 OX_ID. See Originator Exchange Identifier P P List Read Defect Data command 280 PA_VAL. See Process Associator Valid Page Code 287, 289, 305 Caching Parameters page 230, 232 Control Mode page 233, 234 Date Code page 180 Device Behavior page 183 Device Identification page 176 Diagnostic page–Send Diagnostic command 309 Disconnect/Reconnect Control page 221, 222 Enclosure Request 110, 111 Error Recovery page 218, 219 ESI command format 104 Fibre Channel Interface Control page 239 Index-13 Firmware Numbers page 179 Format Parameters page 223, 224 Implemented Operating Definition page 175 Informational Exceptions Control page 243, 244 Inquiry command 168 Jumper Settings page 181 Log Page format 191, 192 Log Sense command 190 Mode Select page descriptor header 209 Mode Sense command 211, 246 Mode Sense page descriptor header 214 Non-Medium Error page 197 Notch page 235, 236 Power Condition page 240, 241 Rigid Disc Drive Geometry Parameters page 226, 227 Self-test Results Log page 201 Supported Diagnostic Pages format 288 Supported Diagnostic Pages page 307 Supported log pages 195 Temperature log page 198 Translate Address page–Receive Diagnostic 290 Translate Address page–Send Diagnostic 308 Unit Attention page 216 Unit Serial Number page 174 Verify Error Recovery page 228, 229 vital product data pages 173 XOR Control Mode page 237 Page Code Valid 288 Page Control Log Select command 187 Log Sense command 190 Page Control Field Mode Sense command 211, 246 Page Format Mode Select command 206, 210 Send Diagnostic command 304, 305 Page Length Caching Parameters page 230, 232, 234 Control Mode page 233, 234 Date Code page 180 Device Address page 114 Device Behavior page 183 Device Identification page 117, 123, 124, 176, 177 Device Standard Inquiry Data 113 Device Temperature page 118 Diagnostic page–Send Diagnostic command 309 Disconnect/Reconnect Control page 221, 222 Enclosure Initiated ESI Page Format 112 Error Recovery page 219 ESI data validation accept 124 Index-14 Fibre Channel Interface Control page 239 Firmware Numbers page 179 Format Parameters page 223 Identification Descriptor 176 Implemented Operating Definition page 175 Informational Exceptions Control page 243, 244 Jumper Settings page 181 Link Status page 120, 122 Log Page format 191, 192 Loop Position Map page 116 Mode Select page descriptor header 209 Mode Sense page descriptor header 214, 215 Notch page 235, 236 Port Parameters page 119 Power Condition page 240, 241 PRLI Accept Payload 74, 75 PRLI Payload 72, 73 PRLO Accept Payload 79 PRLO Payload 77 Rigid Disc Drive Geometry Parameters page 226, 227 Self-test Results Log page 201 Supported Diagnostic Pages format 288 Supported Diagnostic Pages page 307 Supported log pages 195 Temperature log page 198 TPRLO Accept Payload 83 TPRLO Payload 81, 82 Translate Address page–Receive Diagnostic 290 Translate Address page–Send Diagnostic 308 Unit Attention page 216 Unit Serial Number page 174 Verify Error Recovery page 228, 229 vital product data pages 173 XOR Control Mode page 237 Pages Notched Notch page 235, 236 Parameter basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Parameter Code Cache Statistics page 204 Command initiate parameter format 199 Device Self-test Results Log parameter data format 202 Factory Log page 205 Fibre Channel link format 199 Log Parameter structure 192, 193 Non-Medium Error page 197 Fibre Channel Interface Manual, Rev. D Self-test Results Log parameter data format 202 Temperature Parameter format 198 Write, Read, and Verify Error Counter pages 196 Parameter Code Reset Log Select command 187, 188 Parameter Control Bits Device Self-test Results Log parameter data format 202, 203 Parameter Length Device Self-test Results Log parameter data format 202, 203 Enclosure Request 110, 111 Log Parameter structure 192, 193 Parameter list format third-party addressing 301 Parameter List Length CDB 132 Log Select command 187, 188 Mode Select command 206, 210 Persistent Reserve Out command 254 Send Diagnostic command 304 Set Device Identifier command 310 Parameter Pointer Log Sense command 190, 191 Parameter Pointer Control Log Sense command 190, 191 Parameter rounding 154 Parameter Savable Caching Parameters page 230, 232 Control Mode page 233, 234 Disconnect/Reconnect Control page 221, 222 Error Recovery page 218, 219 Format Parameters page 223, 224 Informational Exceptions Control page 243, 244 Mode Sense page descriptor header 214, 215 Notch page 235, 236 Power Condition page 240, 241 Rigid Disc Drive Geometry Parameters page 226, 227 Temperature log page 198 Unit Attention page 216, 217 Verify Error Recovery page 228, 229 XOR Control Mode page 237, 238 Parameter Value Log Parameter structure 192, 193 Partial Medium Indicator Read Capacity (10) command 273 Read Capacity (16) command 275 participating NL_Port 47 Pattern Type Initialization Pattern descriptor 165, 166 payload 28 Payload Length F_Port Common Service Parameters 68, 69 Fibre Channel Interface Manual, Rev. D N_Port Common Service Parameters 60, 61 PRLI Accept Payload 74, 75 PRLI Payload 72, 73 PRLO Accept Payload 79 PRLO Payload 77, 78 RNC Payload 94, 95 TPRLO Accept Payload 83 TPRLO Payload 81, 82 PBC. See port bypass circuit PC. See Page Control PCF. See Page Control Field PCR. See Parameter Code Reset PDISC. See Port Discovery PER. See Post Error Perf. See Performance Performance Informational Exceptions Control page 243, 245 Performance Mode Unit Attention page 216 Peripheral Device Type Date Code page 180 Device Behavior page 183 Device Identification page 176, 177 disc drive inquiry data 170, 171 Firmware Numbers page 179 Implemented Operating Definition page 175 Jumper Settings page 181 Unit Serial Number page 174 vital product data pages 173 Peripheral Qualifier Date Code page 180 Device Behavior page 183 Device Identification page 176, 177 disc drive inquiry data 170, 171 Firmware Numbers page 179 Implemented Operating Definition page 175 Jumper Settings page 181 Unit Serial Number page 174 vital product data pages 173 Persistent Reserve In command 249 Persistent Reserve In parameter data for read reservations 251 Persistent Reserve In parameter data for ready keys 250 Persistent Reserve In Reservation Descriptor 252 Persistent Reserve Out command 254 Persistent Reserve Out parameter list 256 PF. See Page Format Physical Block data Write Same (10) command 340 Write Same (16) command 341 physical interface 2 physical link 51 PLOGI. See Port Login Index-15 PLPB. See Prevent Loop Port Bypass PM. See Performance Mode PMI. See Partial Medium Indicator point-to-point 10 service 33 Port disc drive inquiry data 170, 171 Port A Device Address page 114 Port A Name Device Address page 114 Port A Port_Identifier Device Address page 114 Port A Position Device Address page 114 Port B Device Address page 114 Port B Name Device Address page 114 Port B Port_Identifier Device Address page 114 Port B Position Device Address page 114 Port Bypass Port Parameters page 119 port bypass circuit 11 Port Discovery 90 Port Identifier RLS Payload 85 Port Link Fail Port Parameters page 119 Port Link Rate Port Parameters page 119 Port Login 11, 58, 90 Port Login Accept Payload 65 Port Login Payload 58 Port Logout 66 Port Logout Accept 66 Port Name Device Address page 115 FLOGI ACC Payload 71 FLOGI Payload 67 LOGO Payload 66 PLOGI ACC Payload 65 PLOGI Payload 58, 67 Port Name of Originator ADISC Payload 91, 92 Port Name of Responder ADISC Accept Payload 93 Port Parameters page 119 Port Position Device Address page 115 Port x Bypass Port Parameters page 119 Port x Link Fail Index-16 Port Parameters page 119 Port x Link Rate Port Parameters page 119 Port_Identifier Device Address page 115 ports 9 Post Error Error Recovery page 218, 219 Verify Error Recovery page 228, 229 Power Condition page 241 power dissipation 217 PPC. See Parameter Pointer Control Preempt 250, 255, 257 Preempt and Abort 250, 255, 257 Prefetch (10) command 258 Prefetch (16) command 259 Prevent Loop Port Bypass Fibre Channel Interface Control page 239, 240 Prevent/Allow Medium Removal command 261 Primitive Sequence Protocol Error Link Status page 120, 121, 122 RLS Accept Payload 86, 87 Primitive sequences 19 Primitive signals 15 Priority Class 3 Service Parameters 70 Service Option Class 3 fields 70 priority 47, 48 PRLI. See Process Login PRLO. See Process Logout Process Associator Parameter list format–3rdPty addressing 301 Process Associator Valid Parameter list format–3rdPty addressing 301 Process Associators PRLO Accept Payload 79 PRLO Payload 78 TPRLO Accept Payload 84 TPRLO Payload 82 Process Login 72 Process Login Accept Payload 74 Process Login Payload 72 Process Logout 77 Process Logout Accept Payload 79 Process Logout Payload 77 Product Date Code Date Code page 180 Product Identification disc drive inquiry data 170, 171 Product Revision Level disc drive inquiry data 170, 171 Product Serial Number Unit Serial Number page 174 Progress Indication Format Indication bytes 148 Fibre Channel Interface Manual, Rev. D protocol 6 PS. See Parameter Savable Q QErr. See Queue Error Management Queue Algorithm Modifier Control Mode page 233, 234 Queue Error Management Control Mode page 233, 234 R R_CTL. See Routing Control RAC. See Report A Check Random Relative Offset F_Port Common Service Parameters 68, 69 N_Port Common Service Parameters 60, 61 RAREA. See Reserved Area RC. See Read Continuous RCD. See Read Cache Disable RD XFR RDY. See Read Transfer Ready Read (10) command 264 Read (12) command 266 Read (16) command 268 Read (6) command 262 Read Buffer command 270 Read Buffer descriptor mode 271 Read Buffer header 271 Read Cache Disable Caching Parameters page 230, 232 read cache disable bit 348, 349, 351 Read Capacity (10) command 273 Read Capacity (16) command 275, 276 Read Capacity command 132 Read Capacity data Read Capacity (10) command 274 read capacity data 276 Read Combined Descriptor Header and Data mode 271 Read Continuous Error Recovery page 218, 219 Read Data FCP CMND Payload 128, 129 Read Data mode 271 Read Defect Data command 277, 280 Read Element Status command 283 Read key 249 Read Link Error Status Block 85 Read Link Error Status Block Accept 86 Read Link Error Status Block Accept Payload 86 Read Link Error Status Block Payload 85 Read Long command 284, 339 Read reservation 249 Read Retry Count Error Recovery page 218, 220 Fibre Channel Interface Manual, Rev. D Read Transfer Ready Disable PRLI Accept Payload 74, 75 PRLI Payload 72, 73 Reason Code BA_RJT Payload 55 LS_RJT Payload 96 RFT_ID Payload 99, 100 Reason Explanation BA_RJT Payload 55 LS_RJT Payload 96 Reassign Blocks command 285 Reassign Blocks defect list 286 Rebuild Delay XOR Control Mode page 237, 238 Receive Data Field Size Class Service Parameters 62, 63 F_Port Common Service Parameters 68 N_Port Common Service Parameters 60, 61, 69 Receive Diagnostic Results command 287 Receiver ready 16 Recipient Control Class Service Parameters 62, 63, 70 Recipient Control fields Class Service Parameters 63 Recoverable read error Read (10) command 265 Read (12) command 267 Read (16) command 269 Recovered Error 147 disc drive sense keys 149 Read (10) command 265 Read (12) command 267 Read (16) command 269 Read (6) command 263 Recovered read error Read (6) command 263 Recovery Time Limit Error Recovery page 218, 220 Register 250, 255, 257 Register FC-4 Types Name Service 99 Register FC-4 Types Name Service Payload 99 reinitialization 46 Reinstate Recovery Qualifier 88 Reinstate Recovery Qualifier Accept Payload 89 Reinstate Recovery Qualifier Payload 88 RelAdr. See Relative Address Relative Address CDB 132 CDB ten-byte 131, 132 disc drive inquiry data 170, 172, 184, 186, 258, 259 Lock-Unlock Cache (10) command 184 Lock-Unlock Cache (16) command 185, 186 Prefetch (10) command 258 Index-17 Prefetch (16) command 259 Read (10) command 264, 265 Read (12) command 266, 267 Read (16) command 268, 269 Read Capacity (10) command 273 Read Capacity (16) command 275, 276 Read Long command 284 Synchronize Cache (10) command 314 Synchronize Cache (16) command 315 Verify (10) command 317 Verify (12) command 318 Verify (16) command 320, 321 Write (10) command 324 Write (12) command 326 Write (16) command 328 Write and Verify (10) command 330 Write and Verify (12) command 331 Write and Verify (16) command 333, 334 Write Long command 339 Write Same (10) command 340 Write Same (16) command 341 Relative Offset FCP DATA frame header 137, 138 FCP XFER RDY Payload 136 Relative Offset by Info Category N_Port Common Service Parameters 60, 61 Release 255 Release command 293 Report A Check Control Mode page 233, 234 Report Count Informational Exceptions Control page 243, 245 Report Device Identifier command 294 Report Device Identifier Parameter List Report Device Identifier command 295 Report Device Identifier parameter list 295, 311 Report Device Identifier command 311 Report Log Exception Condition Control Mode page 233, 234 Report LUNs command 296 report LUNs parameter list format 297 Report Node Capabilities 94 Report Node Capabilities Flags RNC Payload 94, 95 Report Node Capabilities Payload 94 Request Sense command 298 Reservation Descriptors Persistent Reserve In parameter data for read reservations 251 Persistent Reserve In parameter data for ready keys 251 Reservation Key Persistent Reserve In parameter data for ready keys 250 Index-18 Persistent Reserve In Reservation Descriptor 252 Persistent Reserve Out parameter list 256, 257 Reserve 255 Reserve command 299 Reserved Area Translate Address page–Receive Diagnostic 290 Residual Count FCP RSP Payload 142 Residual Over Run FCP RSP Payload 142 Residual Under Run FCP RSP Payload 142, 143 Responder Exchange Identifier Frame header format 24, 27 Responder Identifier basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 138 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 RRQ Payload 88 Responder Identifier, Aborted BA_ACC Payload 54 Responder Process Associator PRLI Accept Payload 74, 75 PRLI Payload 72, 73 PRLO Accept Payload 79 PRLO Payload 77 Response Code PRLI Accept Payload 74, 75 PRLO Accept Payload 79, 80 TPRLO Accept Payload 84 Response Data Format disc drive inquiry data 170, 172 Response Information FCP RSP Payload 142, 143 Response Information format FCP RSP Payload 143 Response Length Valid FCP RSP Payload 142, 143 Rezero Unit command 302 RFT_ID. See Register FC-4 Types Name Service Rigid Disc Drive Geometry Parameters page 226 RLEC. See Report Log Exception Condition RLS. See Read Link Error Status Block RNC. See Report Node Capabilities Rnd. See Round RO. See Relative Offset Rotation Position Locking Rigid Disc Drive Geometry Parameters page 226, 227 Fibre Channel Interface Manual, Rev. D Rotational Offset Rigid Disc Drive Geometry Parameters page 226, 227 Round Unit Attention page 216, 217 rounding 154 Routing Control basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 138 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 24, 26 RPL. See Rotation Position Locking RRQ. See Reinstate Recovery Qualifier RSP Length Valid. See Response Length Valid running disparity 13, 33 RX_ID. See Responder Identifier S S.M.A.R.T. See Self-Monitoring Analysis and Reporting Technology S_ID. See Source Identifier S1. See Start_1 S2. See Start_2 Save Implemented Implemented Operating Definition page 175 Save Pages Mode Select command 206 Save Parameters Log Select command 187, 188 Log Sense command 190, 191 Mode Select command 210 SAVIMP. See Save Implemented SBDL. See Set Bad Device Light Scope Persistent Reserve In Reservation Descriptor 252 Persistent Reserve Out command 254 Scope-specific Address Persistent Reserve In Reservation Descriptor 252 Persistent Reserve Out parameter list 256, 257 SCSI Device Off Line Send Diagnostic command 304 SCSI Fibre Channel Protocol 5 SCSI operations 125 SCSI Parallel Interface-3 (SPI-3) 5 SCSI Sense Information FCP RSP Payload 142, 143 SCSI Status FCP RSP Payload 142, 143 SCSI-2 Fibre Channel Interface Manual, Rev. D Unit Attention page 216, 217 SCSI-FCP. See Fibre Channel Protocol Search Data Equal command 302 Search Data High command 302 Search Data Low command 302 Sector Number Address field physical sector address format 291 Sectors Per Track Format Parameters page 223, 225 Seek (10) command 303 Seek (6) command 302 Segment Number Extended Sense Data 145, 146 Sel. ID. See Select-ID Select-ID Jumper Settings page 181 mapping 182 Self-Monitoring Analysis and Reporting Technology 355 Self-test Send Diagnostic command 304, 305 self-test default 355 extended 355 short 355 Self-test Code Device Self-test Results Log parameter data format 202, 203 Send Diagnostic command 304, 306 Self-test Results Log Parameter Self-test Results Log page 201, 202 Self-test Results Value Device Self-test Results Log parameter data format 202 Self-test Results Log parameter data format 203 Self-test Segment Number Device Self-test Results Log parameter data format 202 Self-test Results Log parameter data format 203 Send ESI command format 104 Send Diagnostic command 304 Send Diagnostic Parameter Length ESI command format 104 Sense Data Length Mode Sense data 247 Mode Sense parameter list 213, 214 Sense Key Device Self-test Results Log parameter data format 202 Extended Sense Data 145, 146 Self-test Results Log parameter data format 203 sense key 296 Sense Key Specific 147 Extended Sense Data 145, 146 Index-19 Sense Key Specific Valid 147 Extended Sense Data 145, 146 Field Pointer bytes 147, 148 Format Indication bytes 148 Sense Length Valid FCP RSP Payload 142, 144 SEQ_CNT. See Sequence Count SEQ_ID. See Sequence Identifier Sequence Count basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 138 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 27 Sequence Count, Highest BA_ACC Payload 54 Sequence Count, Lowest BA_ACC Payload 54 Sequence Delivery Class 3 Service Parameters 70 Class Service Parameters 62 Service Option Class 3 fields 70 Service Option fields 64 Sequence Identifier basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 139 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 24, 27 Sequence Identifier, Last BA_ACC Payload 54 Sequence Identifier, Valid BA_ACC Payload 54 serial transmission 13 serialization process 14 Service Action Persistent Reserve In command 249 Persistent Reserve Out command 254, 255 Read Capacity (16) command 275, 276 Report Device Identifier command 294 Set Device Identifier command 310 XDRead (32) command 343, 344 XDWrite (32) command 347, 348 XDWriteRead (32) command 350, 351 XPWrite (32) command 353, 354 Service Action Reservation Key Persistent Reserve Out parameter list 256, 257 Service Option fields Class Service Parameters 64, 70 Index-20 Service Options Class Service Parameters 62, 64, 70 Class3 Service Parameters 70 Service Parameters PRLI Accept Payload 74 PRLI Payload 72 Service Parameters, Class 1, 2, 3 FLOGI ACC Payload 71 FLOGI Payload 67 PLOGI ACC Payload 65 PLOGI Payload 58 Servo RAM Release Date in ASCII Firmware Numbers page 179 Servo RAM Release Number Firmware Numbers page 179 Servo ROM Release Date in ASCII Firmware Numbers page 179 Servo ROM Release Number Firmware Numbers page 179 Set Bad Device Light Diagnostic page–Send Diagnostic command 309 Set Device Identifier command 310 Set Device Identifier Parameter List 311 Set Limits command 312 short self-test 355 Simple Queue FCP CMND Payload 129 Size Enable Caching Parameters page 230, 232 SIZE. See Size Enable skew management 48 SKSV. See Sense Key Specific Valid SOF. See Start-of-frame Soft Reset disc drive inquiry data 170, 172 Soft Sectoring Format Parameters page 224 Soft Sectoring Drive Type Format Parameters page 223 Software Write Protect Control Mode page 233, 234 Source Identifier 41 basic link services header 52, 53 extended link services header 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 139 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 27 Source Identifier of Requesting N_Port RFT_ID Payload 99, 100 SP. See Save Pages SP. See Save Parameters special characters 15 Fibre Channel Interface Manual, Rev. D Spin-Down Control Status 123 SSEC. See Soft Sectoring Stacked Connect Request Class 3 Service Parameters 70 Class Service Parameters 62 Service Option Class 3 fields 70 Service Option fields 64 standard inquiry data format 296 standards 5 Standby Power Condition page 241 Standby Condition Timer Power Condition page 241, 242 Start Start/Stop Unit command 313 Start/Stop Unit command 313 Start_1 Jumper Settings page 181 Start_2 Jumper Settings page 181 Starting Boundary Notch page 235, 236 Starting Cylinder–Reduced Write Current Rigid Disc Drive Geometry Parameters page 226, 227 Starting Cylinder–Write Precomp Rigid Disc Drive Geometry Parameters page 227 Startling Cylinder–Write Precomp. Rigid Disc Drive Geometry Parameters page 226 Start-of-frame (SOF) delimiter 16, 24 Start-of-frame Initialize Loop 18 Start-of-frame Initiate Class 3 18 Start-of-frame Normal Class 3 18 Stop Format Defect List header 164, 165 Strict Unit Attention page 216, 217 superseding reservation 300 Supplied Format Translate Address page–Receive Diagnostic 290 Translate Address page–Send Diagnostic 308 support services 359 Supported Diagnostic Pages format 288 Supported Diagnostic Pages page 307 Supported Diagnostic page–Send Diagnostic 307 supported log pages 195 Supported Operating Definition Implemented Operating Definition page 175 Supported Page List Supported Diagnostic Pages format 288 Supported log pages 195 Fibre Channel Interface Manual, Rev. D vital product data pages 173 Supported Vital Product Data pages 173 SWP. See Software Write Protect Synchronize Cache (10) command 314 Synchronize Cache (16) command 315 T Target Function PRLI Accept Payload 74, 75 PRLI Payload 72, 73 Target Reset FCP CMND Payload 128, 129 Target reset since last command Read (10) command 265 Read (12) command 267 Read (16) command 269 Read (6) command 263 Write (10) command 325 Write (12) command 327 Write (16) command 329 Write (6) command 323 Target Save Disable Log Parameter structure 192, 194 Task Attribute FCP CMND Payload 128, 129 Task Management functions 125 Task Set control 125 TB. See Transfer Block technical support services 359 Temperature Device Temperature page 118 Temperature Data Temperature Parameter format 198 Temperature log page 198 Temperature parameter format 198 Term Task. See Terminate Task Terminate I/O Process disc drive inquiry data 170, 172 Terminate Task FCP CMND Payload 128, 129 Test Informational Exceptions Control page 243, 245 Test Unit Ready command 316 Group 0 commands 316 Third Party Orig N_Port ID Validity TPRLO Accept Payload 83 TPRLO Payload 81 Third Party Orig Proc Assc Valid TPRLO Accept Payload 83 TPRLO Payload 81 Third Party Originator N_Port ID TPRLO Accept Payload 83, 84 TPRLO Payload 81, 82 Third Party Originator N_Port ID Validity Index-21 TPRLO Accept Payload 84 TPRLO Payload 82 Third Party Originator Process Associator TPRLO Accept Payload 83 TPRLO Payload 81 Third Party Process Logout 81 Third Party Process Logout Accept Payload 83 Third Party Process Logout Payload 81 Third Party Resp Proc Assc Valid TPRLO Accept Payload 83 TPRLO Payload 81 Third Party Responder Process Associator TPRLO Accept Payload 83 TPRLO Payload 81 third-party reservation 300 Threshold Met Criteria Log Parameter structure 192, 194 Timestamp Device Self-test Results Log parameter data format 202 Self-test Results Log parameter data format 203 TMC. See Threshold Met Criteria topologies 9 topology standards 7 Total Concurrent Sequences N_Port Common Service Parameters 60, 61 TPRLO. See Third Party Process Logout Track Skew Factor Format Parameters page 223, 225 Tracks Per Zone Format Parameters page 223, 225 Transfer Block Error Recovery page 218, 220 Transfer Disable disc drive inquiry data 170, 172 Transfer Length CDB 132 CDB six-byte 131 CDB ten-byte 131, 132 Prefetch (10) command 258 Prefetch (16) command 259, 260 Read (10) command 264, 265 Read (12) command 266, 267 Read (16) command 268, 269 Read (6) command 262 Write (10) command 324 Write (12) command 326 Write (16) command 328, 329 Write (6) command 322 Write and Verify (10) command 330 Write and Verify (12) command 331, 332 Write and Verify (16) command 333, 334 XDWrite (10) command 345, 346, 348 XDWrite (32) command 347 XDWriteRead (10) command 349 Index-22 XDWriteRead (32) command 350 XPWrite (10) command 352 XPWrite (32) command 353, 354 Translate Address page 290 Translate Address page–Receive Diagnostic 290 Translate Address page–Send Diagnostic 308 Translate Format Translate Address page–Send Diagnostic 308 Translated Address Translate Address page–Receive Diagnostic 290 Translated Format Translate Address page–Receive Diagnostic 290, 291 transmission word 15, 33, 46 TRMIOP. See Terminate I/O Process TrnDis. See Transfer Disable TSD. See Target Save Disable Type 27 basic link services header 52, 53 common transport header 97 extended link services header 56, 57, 98 FCP CMND header 126, 127 FCP DATA frame header 137, 139 FCP RSP header 140, 141 FCP XFER RDY header 134, 135 Frame header format 24 Persistent Reserve In Reservation Descriptor 252, 253 Persistent Reserve Out command 254, 255 Type Code PRLI Accept Payload 74, 76 PRLI Payload 72, 73 PRLO Payload 77, 78 TPRLO Payload 81, 82 Type Code Extension PRLI Accept Payload 74, 76 PRLI Payload 72, 73 PRLO Payload 77, 78 TPRLO Payload 81, 82 Typical CDB six-byte 104, 131 ten-byte 131 U unfair NL_Port 48 Unique Drive Identifier Node/Port Name format 59 Unit Attention disc drive sense keys 149 Read (10) command 265 Read (12) command 267 Read (16) command 269 Read (6) command 263 Unit Attention page 216, 217 Fibre Channel Interface Manual, Rev. D Write (10) command 325 Write (12) command 327 Write (16) command 329 Write (6) command 323 Unit Attention page 216 Unit Serial Number page 173, 174 UnitOFL. See Logical Unit Off Line Unrecoverable read error Read (6) command 263 Unrecovered read error Read (10) command 265 Read (12) command 267 Read (16) command 269 Untagged Queue FCP CMND Payload 129 vital product data page codes 173 vital product data pages 173 Volume Overflow disc drive sense keys 149 Write (10) command 325 Write (12) command 327 Write (16) command 329 Write (6) command 323 VS. See Vendor Specific VU Information Length RNC Payload 95 VU Information Lengths RNC Payload 94 V WCE. See Write Cache Enable window access 47 WP. See Software Write Protect WR XFR RDY. See Write Transfer Ready Write (10) command 324 Write (12) command 326 Write (16) command 328 Write (6) command 322 Write and Verify (10) command 330 Write and Verify (12) command 331 Write and Verify (16) command 333 Write Buffer command 335 Write Buffer header 337 Write Cache Enable Caching Parameters page 230, 232 Write Data FCP CMND Payload 128, 129 Write Data Only mode 337 Write Exclusive 253 Write Exclusive, Registrants Only 253 Write Long command 339 Write Protect 234 Mode Sense data 247 Mode Sense parameter list 213, 214 Write Retention Priority Caching Parameters page 230, 232 Write Retry Count Error Recovery page 218, 220 Write Same (10) command 340 Write Same (16) command 341 Write Transfer Ready Disable PRLI Accept Payload 74, 76 PRLI Payload 72, 73 Write, Read, and Verify Error Counter pages 196 Write, Read, and Verify Error Parameter Code 196 valid addresses 33 valid arbitrated loop physical address 48 Valid Vendor Version F_Port Common Service Parameters 68, 69 N_Port Common Service Parameters 60, 61 Validity Bit Extended Sense Data 145, 146 Vendor Identification disc drive inquiry data 170, 172 Vendor Identifier RNC Payload 94, 95 Vendor Specific Defect List header 164, 165 Vendor Unique BA_RJT Payload 55 LS_RJT Payload 96 RFT_ID Payload 99, 100 Vendor Version FLOGI ACC Payload 71 FLOGI Payload 67 PLOGI ACC Payload 65 PLOGI Payload 58 Verification Length Verify (10) command 317 Verify (12) command 318, 319 Verify (16) command 320, 321 Verify (10) command 317 Verify (12) command 318 Verify (16) command 320 Verify Correction Span Verify Error Recovery page 228, 229 Verify Error Recovery page 228 Verify Recovery Time Limit Verify Error Recovery page 228, 229 Verify Retry Count Verify Error Recovery page 228, 229 Version Number Device Behavior page 183 Fibre Channel Interface Manual, Rev. D W X X_ID. See Exchange Identifier Index-23 XDRead (10) command 342 XDRead (32) command 343 XDWrite (10) command 345 XDWrite (32) command 347 XDWriteRead (10) command 349 XDWriteRead (32) command 350 XOR Control Mode page 237 XORDis XOR Control Mode page 237, 238 XPWrite (10) command 352 XPWrite (32) command 353 Index-24 Fibre Channel Interface Manual, Rev. D Seagate Technology LLC 920 Disc Drive, Scotts Valley, California 95066-4544, USA Publication Number: 77767496, Rev. D, Printed in USA
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No Modify Date : 2004:02:13 16:31:59-06:00 Create Date : 2004:02:13 15:41:27Z Page Count : 432 Creation Date : 2004:02:13 15:41:27Z Mod Date : 2004:02:13 16:31:59-06:00 Producer : Acrobat Distiller 5.0.5 (Windows) Author : SchweisK Metadata Date : 2004:02:13 16:31:59-06:00 Creator : SchweisK Title : Book.bk Page Mode : UseOutlines Tagged PDF : YesEXIF Metadata provided by EXIF.tools