Parallel SCSI Interface
Ultra 160
Ultra 320
Download from Www.Somanuals.com. All Manuals Search And Download.
Parallel SCSI Interface
Ultra 160
Ultra 320
Download from Www.Somanuals.com. All Manuals Search And Download.
©2006, Seagate Technology LLC All rights reserved
Publication number: 100293069, Rev. A
March 2006
Seagate and Seagate Technology are registered trademarks of Seagate Technology LLC.
SeaTools, SeaFONE, SeaBOARD, SeaTDD, and the Wave logo are either registered trade-
marks or trademarks of Seagate Technology LLC. Other product names are registered trade-
marks or trademarks of their owners.
Seagate reserves the right to change, without notice, product offerings or specifications. No
part of this publication may be reproduced in any form without written permission of Seagate
Technology LLC.
Download from Www.Somanuals.com. All Manuals Search And Download.
Revision status summary sheet
Revision
Date
Writer/Engineer
Sheets Affected
Rev. A
03/27/06
C. Chalupa/G. Houlder
All.
Parallel SCSI Interface Product Manual, Rev. A
iii
Download from Www.Somanuals.com. All Manuals Search And Download.
iv
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Table of Contents
Interface requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 How to use this interface manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Scope of SCSI standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Applicable standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 General interface description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Physical interface characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Summary of SCSI messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SCSI bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1 SCSI bus signals overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Drive select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.2 Signal values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Signal states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 SE signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 LVD signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 OR-tied signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Signal sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5 SCSI bus timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.1 Arbitration delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.2 ATN transmit setup time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.3 ATN receive setup time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5.4 Bus clear delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.5 Bus free delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.6 Bus set delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.7 Bus settle delay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.8 Cable skew delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.9 Chip noise in receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.10 Clock jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.11 Crosstalk time shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.12 De-skewed data valid window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.13 Flow control receive hold time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.14 Flow control receive setup time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.15 Flow control transmit hold time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.16 Flow control transmit setup time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.17 pCRC receive hold time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.18 pCRC receive setup time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.19 pCRC transmit hold time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.20 pCRC transmit setup time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.21 Data release delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.22 DIFFSENS voltage filter time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.23 Offset induced time asymmetry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.24 Physical disconnection delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.25 Power on to selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.26 QAS arbitration delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.27 QAS assertion delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.28 QAS release delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.29 QAS non-data phase REQ(ACK) period. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.30 Receive assertion period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.31 Receive hold time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.32 Receive internal hold time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.33 Receive internal setup time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.34 Receive negation period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Parallel SCSI Interface Product Manual, Rev. A
v
Download from Www.Somanuals.com. All Manuals Search And Download.
2.5.35 Receive setup time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.36 Receive REQ(ACK) period tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.37 Receive REQ assertion period with P_CRCA transitioning. . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.38 Receive REQ negation period with P_CRCA transitioning . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.39 Receive skew compensation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5.40 Receiver amplitude time skew. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.41 REQ(ACK) period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.42 Reset delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.43 Reset hold time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.44 Reset to selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.45 Residual skew error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.46 Selection abort time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.47 Selection timeout delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.48 Signal timing skew. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.49 Skew correction range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.50 Strobe offset tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.51 System deskew delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.52 System noise at launch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.53 System noise at receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.54 Time asymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.55 Transmit assertion period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.56 Transmit hold time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.57 Transmit ISI compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.58 Transmit negation period. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.59 Transmit setup time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.60 Transmit REQ(ACK) period tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.61 Transmit REQ assertion period with P_CRCA transitioning . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.62 Transmit REQ negation period with P_CRCA transitioning. . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.63 Transmitter skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.64 Transmitter time asymmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6 Measurement points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.1 SE Fast-5 and Fast-10 measurement points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.2 SE Fast-20 measurement points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.3 LVD measurement points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.7 Clocking methods for data transfers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.8 Paced transfer on a SCSI bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.9 Data transfer modes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.9.1 Asynchronous transfers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.9.2 Synchronous transfers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.9.3 Paced transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.11.1 Data group transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.11.2 Information unit transfers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.12.1 Negotiation algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.12.2 When to negotiate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.12.3 Negotiable fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.12.4 Transfer agreements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.12.5 Transfer period factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.12.6 REQ/ACK offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.12.7 Transfer width exponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.12.8 Protocol options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.12.8.2DT_REQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
vi
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.8.3QAS_REQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.12.8.4HOLD_MCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.12.8.5WR_FLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.12.8.6RD_STRM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.12.8.7RTI (Retain Training Information) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.12.8.8PCOMP_EN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.12.9 Negotiable field combinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.12.10 Message restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.12.11 Negotiation message sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Logical characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1 SCSI bus phases overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.1 BUS FREE phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.1.1 Unexpected and expected bus free phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.1.2 Expected bus free phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.2 Arbitration and QAS overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.2.1 Normal ARBITRATION phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.1.2.2 QAS protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.1.2.3 QAS phase overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2 SELECTION phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.1 Selection overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1.1 Selection using attention condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1.1.2 Information unit transfers disabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1.1.3 Information unit transfers enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.1.1.4 Selection using attention condition timeout procedure. . . . . . . . . . . . . . . . . . 57
3.2.1.2 Selection without using attention condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.1.2.1 Information unit transfers disabled or enabled . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3 RESELECTION phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.1 RESELECTION phase overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.2 Physical reconnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.3 Physical reconnection timeout procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 SCSI bus fairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5 Information transfer phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.5.1 Asynchronous transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.5.2 Synchronous transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.5.2.1 ST synchronous data transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.5.2.2 DT synchronous transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5.2.2.1 Information unit transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5.2.2.2 Data group data field transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.5.3 Paced transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.5.3.1 Paced transfer training pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.5.3.1.1 DT DATA IN phase training pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.5.3.1.2 DT DATA OUT phase training pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.5.3.2 P1 data valid/invalid state transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.5.3.2.1 Starting pacing transfers at end of training pattern . . . . . . . . . . . . . . . . . . . . 72
3.5.3.2.2 Starting pacing transfers with no training pattern. . . . . . . . . . . . . . . . . . . . . . 72
3.5.3.2.3 Ending pacing transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.5.3.3 Paced information unit transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.5.3.4 Deskewing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.5.4 Wide transfer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.6 COMMAND phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6.1 COMMAND phase description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6.2 COMMAND phase exception condition handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.7 DATA phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Parallel SCSI Interface Product Manual, Rev. A
vii
Download from Www.Somanuals.com. All Manuals Search And Download.
3.7.1 DATA phase overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.7.2 DT DATA IN phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.7.3 DT DATA OUT phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.7.4 ST DATA IN phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.7.5 ST DATA OUT phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.8 STATUS phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.8.1 STATUS phase description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.8.2 STATUS phase exception condition handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.9 MESSAGE phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.9.1 MESSAGE phase overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.9.2 MESSAGE IN phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.9.2.1 MESSAGE IN phase exception condition handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.9.3 MESSAGE OUT phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.9.3.1 MESSAGE OUT phase exception condition handling . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.11.1 SCSI bus phase sequences overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.11.2 Phase sequences for physical reconnection and selection using attention
condition with information unit transfers disabled. . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.11.3 Phase sequences for selection without using attention condition with
3.11.4 Phase sequences for physical reconnection or selection without using
3.11.5 Phase sequences for physical selection using attention condition with
information unit transfers enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.12 Data bus protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.12.1 Data bus protection overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.12.2 ST data bus protection using parity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.12.3 DT data bus protection using CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.12.3.2Error detection capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.1 General message protocols and formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.2 Message formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.2.1 One-byte messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.2.2 Two-byte messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.2.3 Extended messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.3 Message categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.3.1 LINK CONTROL MESSAGES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.3.2 DISCONNECT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.3.3 IDENTIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.3.4 IGNORE WIDE RESIDUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3.5 INITIATOR DETECTED ERROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.6 LINKED COMMAND COMPLETE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.7 MESSAGE PARITY ERROR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.8 MESSAGE REJECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.9 MODIFY DATA POINTER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3.10 MODIFY BIDIRECTIONAL DATA POINTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.3.11 NO OPERATION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.3.12 PARALLEL PROTOCOL REQUEST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.3.12.1PARALLEL PROTOCOL REQUEST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.3.13 QAS REQUEST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.14 RESTORE POINTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.15 SAVE DATA POINTERS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
viii
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4.3.16 SYNCHRONOUS DATA TRANSFER REQUEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3.16.1Target initiated SDTR negotiation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.3.16.2Initiator initiated SDTR negotiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.3.17 TASK COMPLETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.3.18 WIDE DATA TRANSFER REQUEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.3.18.1Target initiated WDTR negotiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.3.18.2Initiator initiated Wide Data Transfer Request (WDTR) negotiation . . . . . . . . . . . . . 102
4.4 Task attribute messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.4.1 Task attribute message overview and codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.4.2 ACA (AUTO CONTINGENT ALLEGIANCE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.4.3 HEAD OF QUEUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.4.4 ORDERED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.4.5 SIMPLE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.5 Task management messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.5.1 Task management message codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.5.2 ABORT TASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.5.3 ABORT TASK SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.5.4 CLEAR ACA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.5.5 CLEAR TASK SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.5.6 LOGICAL UNIT RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.5.7 TARGET RESET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Miscellaneous SCSI bus characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.1 Attention condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.2 Bus reset condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.3 Hard reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.4 Reset events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.4.1 Bus reset event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.4.2 Power on reset event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.4.3 Target reset event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.4.4 Transceiver mode change reset event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.5 Asynchronous condition recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.5.1 SCSI pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.5.2 Active pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.5.3 Saved pointers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.6 Command processing considerations and exception conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.6.1 Command processing considerations and exception conditions overview . . . . . . . . . . . . 111
5.6.2 Asynchronous event notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.6.3 Incorrect initiator connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.6.4 Unexpected RESELECTION phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
SPI information units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.1 Information unit transfer logical operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2 SPI information units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2.1 SPI command information unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2.2 SPI L_Q information unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.2.3 SPI data information unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.2.4 SPI data stream information unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.2.5 SPI status information unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
SCSI commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.1 Command implementation requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.1.1 Reserved. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.2 Command Descriptor Block (CDB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.2.1 Fixed and variable length Command Descriptor Block formats . . . . . . . . . . . . . . . . . . . . 133
7.3 Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Parallel SCSI Interface Product Manual, Rev. A
ix
Download from Www.Somanuals.com. All Manuals Search And Download.
7.3.1 Status precedence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
7.4 Command examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.4.1 Single command example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.4.2 Disconnect example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
7.5 Timing examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.6 Command processing considerations and exception conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.6.1 Auto Contingent Allegiance or Contingent Allegiance. . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.6.1.2 Clearing an Auto Contingent Allegiance condition. . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.6.2 Overlapped commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.6.3 Incorrect logical unit selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.6.4 Sense data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.6.4.1 Asynchronous Event Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.6.4.2 Autosense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.6.5 Unexpected RESELECTION phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
7.6.6 Unit Attention condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.6.7 Target hard reset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.6.8 Logical unit reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.7 Queued tasks (formerly “queued I/O processes”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.7.1 Untagged task queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.7.2 Tagged task queuing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
7.8 Parameter rounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7.9 Programmable operating definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Drive features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.1 S.M.A.R.T. system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.2 Self-test operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.2.1 Default self-test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.2.2 The short and extended self-tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
8.2.3 Self-test modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.2.3.1 Foreground mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.2.3.2 Background mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.3 Alternate error detection for the asynchronous information phases (AIP)—Command,
8.3.1 Error detection for asynchronous information phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
8.3.2 Protection code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
8.3.2.1 Covered signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8.3.2.2 Code description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.3.2.3 Error detection properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.3.3 Protection code usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.3.3.1 Protection code transmission. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.3.3.2 Enabling protection code checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.3.3.3 Disabling protection code checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.3.4 Parity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.3.5 Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.4 Removal and insertion of SCSI devices (popularly known as “hot plugging”) . . . . . . . . . . . . . . . . 158
8.4.1 Removal and insertion of SCSI devices overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.4.2 Case 1—Power off during removal or insertion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.4.3 Case 2—RST signal asserted continuously during removal or insertion. . . . . . . . . . . . . . 159
8.4.4 Case 3—Current I/O processes not allowed during insertion or removal . . . . . . . . . . . . . 159
8.4.5 Case 4—Current I/O process allowed during insertion or removal . . . . . . . . . . . . . . . . . . 159
x
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
List of Figures
Figure 10.
SCSI client-server model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Voltage and current definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
LVD Signaling sense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
ST latching data vs. DT latching data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
ST synchronous transfer example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
DT synchronous transfer example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Paced transfer example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Example of a SCSI bus with paced transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Use of P1 to establish data valid and data invalid states . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Phase sequences for physical reconnection and selection using attention
condition with information unit transfers disabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Phase sequences for selection without using attention condition with information
Figure 11.
Figure 12.
Figure 13.
unit transfers disabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Phase sequences for physical reconnection or selection without using attention
condition/ with information unit transfers enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Phase sequences for selection with attention condition/physical reconnection
and information unit transfers enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
SPI information unit sequence during initial connection . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
SPI information unit sequence during data type transfers. . . . . . . . . . . . . . . . . . . . . . . . . . 116
SPI information unit sequence during data stream type transfers. . . . . . . . . . . . . . . . . . . . 117
SPI information unit sequence during status transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Single command example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Disconnect example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Protection code generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Figure 20.
Parallel SCSI Interface Product Manual, Rev. A
xi
Download from Www.Somanuals.com. All Manuals Search And Download.
xii
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
1.0
Interface requirements
1.1
How to use this interface manual
This manual provides a description of the SCSI1 interface protocol and some general timing information as
implemented by Seagate products. The features described in this manual are typically referred to as “Ultra160
SCSI” or “Ultra320 SCSI” features. Individual drive’s Product Manual, for the various SCSI interface products,
contains additional and more detailed information on protocol, features supported, timing, and electrical/
mechanical aspects of how the SCSI interface is implemented by that product.
This manual provides a general, tutorial-type description of the ANSI SCSI (formerly called SCSI-3) system. It
is not intended to give all of the kinds of details needed to design/implement a SCSI system or product. For
information about SCSI interface details not included herein, refer to the standards listed in Section 1.1.1.
Note. The individual drive’s Product Manual, has tables that specify which SCSI features the drive imple-
ments, what the default parameters are for the various features they implement, which parameters are
changeable, and which are not.
The combination of this specification together with the details in the individual drive’s Product Manual, provides
a description of how a particular product implements the SCSI I/O system. This specification is Volume 2 of a
set of manuals that is made up of an individual drive’s Product Manual, and this manual. The older Ultra2 SCSI
Interface Manual, part number 77738479, applies to Seagate products that implement older versions of the
SCSI interface (SCSI-1/SCSI-2). This new Parallel SCSI Interface Manual, part number 100293069, is refer-
enced by newer individual drive’s Product Manuals, representing Seagate products that support Ultra160 or
Ultra320 SCSI features and other new features, such as packetized information transfer (SPI information
units), data group transfers, paced transfers, increased CRC protection, etc.
1Unless required for clarity, “SCSI” is now used instead of “SCSI-3.”
Parallel SCSI Interface Product Manual, Rev. A
1
Download from Www.Somanuals.com. All Manuals Search And Download.
1.1.1
Scope of SCSI standards
Figure 1 uses a representative set of specifications to show the functional partitions and the relationships
among SCSI standards applicable to drives covered by this manual.
SCSI Block
Commands (SBC)
Commands
SCSI Primary
Commands (SPC)
SCSI
Interlocked
Protocol
SCSI
Fibre Channel
Protocol (FCP)
Protocols
and
SCSI
Parallel
Interface (SPI-3)
Fibre Channel
Physical and Signaling
Interface (FC-PH)
Interconnects
1
Figure 1.
Functional scope of SCSI standards
The functional areas define the scope of each standard as follows:
• SCSI Architecture Model: Defines the SCSI systems model, the functional partitioning of the SCSI standard
set and requirements applicable to all SCSI implementations and implementation standards.
• Commands: Implementation standards which define classes including a device model for each class. These
standards specify the required commands and behavior that is common to all devices or unique to a given
class of devices and prescribe the rules to be followed by a SCSI initiator port when sending commands to a
device.
• Common Access Method: Implementation standard which defines a host architecture and set of services for
device access.
• Protocols: Implementation standards which define the rules for exchanging information so that different
SCSI devices can communicate.
• Interconnects: Implementation standards which define the electrical and signaling rules essential for devices
to interoperate over a given physical interconnect.
1
The diagram of Figure 1 shows how the standards listed below fit within each category. The standards
included in the diagram are meant to serve as examples and may not reflect the full set of standards currently
in force.
2
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
1.1.2
Applicable standards
The following ANSI standards should be referenced for more details about SCSI system standards of opera-
tion:
• SCSI Architecture Model - 4 (SAM-4), T10/1683-D
• SCSI Enclosure Services - 2 (SES-2), T10/1559-D
• SCSI Block Commands - 3 (SBC-3), T10/1215-D
• SCSI Primary Commands - 4 (SPC-4), T10/1731-D
• SCSI Enhanced Parallel Interface (EPI), T10/1143-DT
• SCSI Parallel Interface (SPI-5), T10/1525D
• SCSI Medium Changer Commands - 3 (SMC-3), T10/1730-D
• SCSI Controller Command Set - 2 (SCC-2), T10/1225D
• SCSI Stream Command - 3 (SSC-3), T10/1611-D
1.2
General interface description
This Parallel SCSI Interface Manual describes the Seagate Technology LLC. subset of the SCSI (Small Com-
puter Systems Interface) as implemented on the Seagate-built drives. The interface is compatible with the
SCSI Interface Specifications listed in Section 1.1.2. The drives covered by this manual are classified as “Intel-
ligent” peripherals.
The Seagate SCSI interface described herein consists of a 9 or 18 bit bidirectional data bus (includes bits for
parity checking and enabling CRC protection), plus 9 control signals. The SCSI interface supports multiple ini-
tiators, disconnect/reconnect, 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 SCSI physical interface uses either single-ended drivers and receivers or low voltage differential drivers
and receivers and uses asynchronous or synchronous communication protocols. The bus interface transfer
rate for asynchronous or synchronous is given in individual drive’s Product Manual. The bus protocol supports
multiple initiators, disconnect/reconnect, additional messages plus 6-byte, 10-byte, 12-byte, 16-byte and vari-
able length Command Descriptor Blocks.
Unless specified otherwise in the individual drive’s Product Manual, the drive is always a SCSI target port, and
never a SCSI initiator port. For certain commands, which may or may not be supported by a particular drive
model, the drive must act as a SCSI initiator port, but does not otherwise do so. For purposes of this specifica-
tion, “drive” may be substituted for the word “target” wherever “target” appears.
In the event of a conflict between this document and ANSI SCSI documents, the requirements of the ANSI doc-
uments shall apply.
Note. In this revision, some new terminology is introduced as taken from the ANSI specifications. In many
instances, the broader scope terms such as “initiator” and “target” are not used, but rather the more
specific terms “Application Client” and “Device Server” appear. In Figure 2, it can be seen that several
“application clients” from a single initiator may have one or more tasks in queue with several “device
servers” in a single target. A drive could be a SCSI target port or it could be one of the device servers
as part of some larger entity. When reading the description, one needs to be able to put the drive of
interest in the proper context in terms of what is shown in Figure 2. For a proper understanding of the
operation of the SCSI protocol, the terms in the SCSI architectural model as described in ANSI specifi-
cation T10/1683-D (SAM-4) should be well understood before reading operation descriptions in any
SCSI document. Although a Glossary of terms is provided herein, the definitions may not be adequate
for some. The SAM-4 specification gives a more detailed understanding of some of the new SCSI ter-
minology
Parallel SCSI Interface Product Manual, Rev. A
3
Download from Www.Somanuals.com. All Manuals Search And Download.
Logical
Unit
Device Service Request
Device Service Response
Application
Client
Device
Server
Task Management Request
Task Management Response
Task
Manager
Initiator
Target
Figure 2.
1.2.1
SCSI client-server model
Glossary
aborted command—A SCSI command that has been ended by aborting the task created to execute it.
ACA—Auto Contingent Allegiance (see below).
additional sense code—a combination of the ADDITIONAL SENSE CODE and ADDITONAL SENSE CODE
QUALIFIER in the sense data (see SPC-4)
application client—An object that is the source of SCSI commands. An object in this sense is not a tangible
piece of hardware, but may be a single numeric parameter, such as a logical unit number, or a complex entity
that performs a set of operations or services on behalf of another object (see ANSI SAM-4, T10/1683-D).
asynchronous event notification—A procedure used by targets to notify initiators of events that occur when
a pending task does not exist for that initiator.
asynchronous transfer—An information transfer that uses the REQ/ACK handshake with an offset of zero.
auto contingent allegiance (ACA)—One of the conditions of a task set following the return of a CHECK
blocked task state—The state of a task that is prevented from completing due to an ACA condition.
blocking boundary—A task set boundary denoting a set of conditions that inhibit tasks outside the boundary
from entering the Enabled state.
byte—An 8-bit construct.
call—The act of invoking a procedure.
client-server—A relationship established between a pair of distributed objects where one (the client) requests
the other (the server) to perform some operation or unit of work on the client’s behalf (see SAM-4).
client—An object that requests a service from a server.
command—A request describing a unit of work to be performed by a device server.
4
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
command descriptor block—A structure used to communicate a command from an application client to a
device server. Command structures of 6, 10, 12, or 16 bytes are used, but a new variable length command
structure has recently been introduced.
completed command—A command that has ended by returning a status and service response of Task Com-
plete or Linked Command Complete.
completed task—A task that has ended by returning a status and service response of Task Complete. The
actual events comprising the Task Complete response are protocol specific.
confirmation—A response returned to an object, which signals the completion of a service request.
confirmed service—A service available at the protocol service interface, which requires confirmation of com-
pletion. The confirmed service consists of the request and confirmation steps and optionally the indication and
response steps.
contingent allegiance (CA)—An optional condition of a task set following the return of a CHECK CONDITION
status. A detailed definition of contingent allegiance may be found in Section 4.4.2. (CA declared obsolete by
SAM-4, ACA supported by SAM-4)
control mode page—The mode page that identifies the settings, and provides control, of several device
server behaviors that may be of interest to an application client or may be changed by an application client.
The complete definition of the Control mode page is found in the Seagate SCSI Command Reference Manual,
Part number 100293068, or SPC-4.
current task—A task that is in the process of sending messages, sending status, transferring data, or transfer-
ring command data to or from the initiator.
cyclic redundancy check (CRC)—An error detecting code used to detect the validity of data that has been
transferred during the current data group.
data field—The portion of a data group that contains data bytes.
data group—A sequence of data bytes and the four pCRC bytes during a DT DATA IN PHASE or a DT DATA
OUT PHASE that starts at the first byte of the DT DATA phase or at the first byte after the last pCRC byte.
data group transfer—Parallel transfers that transfer data and pCRC information using only data groups. The
last four bytes of a data group transfer contain CRC information over the whole data group.
destination device—The SCSI device to which a service delivery transaction is addressed. See source
device.
device server—An object within the logical unit which executes SCSI tasks according to the rules for task
management described in clause 7 of ANSI SAM-4 document, T10/1683-D.
device service request—A request, submitted by an application client, conveying a SCSI command to a
device server.
device service response—The response returned to an application client by a device server on completion of
a SCSI command.
differential—A signalling alternative that employs differential (two complementary signals) drivers and receiv-
ers to improve signal-to-noise ratios and increase maximum cable lengths.
disconnect—The action that occurs when a SCSI device releases control of the SCSI bus, allowing it to go to
the BUS FREE PHASE.
domain—An I/O system consisting of a set of SCSI devices that interact with one another by means of a ser-
vice delivery subsystem.
dormant (task state)—The state of a task that is prevented from starting execution due to the presence of cer-
tain other tasks in the task set.
Parallel SCSI Interface Product Manual, Rev. A
5
Download from Www.Somanuals.com. All Manuals Search And Download.
double transition (DT)—The latching of data on both the assertion edge and the negated edge of the REQ or
ACK signals.
driver—The circuitry used to control the state of the bus.
enabled task state—The state of a task that may complete at any time. Alternatively, the state of a task that is
waiting to receive the next command in a series of linked commands.
ended command—A command that has completed or aborted.
exception condition—Any event that causes a SCSI device to enter an auto contingent allegiance or contin-
gent allegiance condition.
faulted initiator—The initiator to which a Command Terminated or CHECK CONDITION status was returned.
faulted I_T nexus: The I_T nexus on which a CHECK CONDITION status was returned that resulted in the
establishment of an ACA. The faulted I_T nexus condition is cleared when the ACA condition is cleared.
faulted task set: A task set that contains a faulting task. The faulted task set condition is cleared when the
ACA condition resulting from the CHECK CONDITION status is cleared.
faulting command: A command that completed with a status of CHECK CONDITION that resulted in the
establishment of an ACA.
faulting task: A task that has completed with a status of CHECK CONDITION that resulted in the establish-
ment of an ACA.
function complete—A logical unit response indicating that a task management function has finished. The
actual events comprising this response are protocol specific.
hard reset—a SCSI target port response to a reset event or a SCSI target port Reset in which the target per-
implementation—The physical realization of an object.
implementation-specific—A requirement or feature that is defined in a SCSI standard but whose implemen-
tation may be specified by the system integrator or vendor.
implementation option—An option whose actualization within an implementation is at the discretion of the
implementor.
indication—The second step in a four-step confirmed service reply to a request.
information unit transfer—Parallel transfers that transfer data, status, commands, task attributes, task man-
agement information, acrid, and nexus information using only SPI information units.
initial connection—The result of a physical connect. It exists from the assertion of the BSY signal in a
SELECTION PHASE until the next BUS FREE PHASE or the next QAS REQUEST message.
initiator—A SCSI device containing application clients which originate device service and task management
requests to be processed by a SCSI target port SCSI device.
interconnect—The electrical media (including connectors and passive loads) used to connect the TERM-
PWR, terminators, and SCSI devices in a SCSI bus.
interconnect subsystem—One or more physical interconnects which appear as a single path for the transfer
of information between SCSI devices in a domain.
intersymbol interference (ISI)—The effect of adjacent symbols on the symbol currently being received.
in transit—Information that has been sent to a remote object but not yet received.
6
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
I/O operation—An operation defined by an unlinked SCSI command, a series of linked SCSI commands or a
task management function.
I/O process—An I/O process consists of one initial connection or, if information units are enabled, the
establishment of a nexus, and a zero or more physical or logical reconnection all pertaining to a single task or
a group of tasks. An I/O process begins with the establishment of a nexus. If the SPI information unit transfers
are disabled, an I/O process normally ends with a Command Complete message. If information unit transfers
are enabled, an I/O process ends with a SPI L_Q information unit with the type field set to status and the Data
Length field set to zero.
I_T nexus—A nexus that exists between a SCSI initiator port and a SCSI target port.
I_T_L nexus—A nexus that exists between a SCSI initiator port, a SCSI target port, and a logical unit. This
relationship replaces the prior I T nexus.
I_T_L_Q nexus—A nexus between a SCSI initiator port, a SCSI target port, a logical unit, and a queue tag fol-
lowing the successful receipt of one of the queue tag messages. This relationship replaces the prior I T L
nexus.
iuCRC protection—The use of CRC to detect DT DATA PHASE data transmission errors during parallel trans-
fers. Contains CRC information covering all bytes transmitted in a SPI information unit.
layer—A subdivision of the architecture constituted by subsystems of the same rank.
linked CDB—A CDB with the link bit in the control byte set to one.
linked command—One in a series of SCSI commands executed by a single task, which collectively make up
a discrete I/O operation. In such a series, each command has the same task identifier, and all except the last
have the link bit in the CDB control byte set to one.
logical connect—Establishes an I_T_L_Q nexus using SPI L_Q information units.
logical disconnect—Reduces the current I_T_L_Q nexus to an I_T nexus.
logical reconnect—Reestablishes an I_T_L_Q nexus from an I_T nexus using SPI L_Q information units.
logical unit—a SCSI target port-resident entity which implements a device model and executes SCSI com-
mands sent by an application client.
logical unit number—A 64-bit identifier for a logical unit.
logical unit option—An option pertaining to a logical unit, whose actualization is at the discretion of the logical
unit implementor.
logical unit reset— A logical unit action in response to a logical unit reset event in which the logical unit per-
forms the operations described in SCSI Architecture Model-4.
lower level protocol—A protocol used to carry the information representing upper level protocol transactions.
mandatory—The referenced item is required to claim compliance with a standard.
media information—Information stored within a SCSI device which is non-volatile (retained through a power
cycle) and accessible to a SCSI initiator port through the execution of SCSI commands.
multidrop—A characteristic of the SCSI bus that allows SCSI devices to be connected to the SCSI bus with-
out disrupting the electrical path between the terminators.
multimode single-ended (MSE)—A signalling alternative for LVD SCSI devices that combines LVD SCSI and
single-ended SCSI (see SPI-5, SCSI parallel interface electrical characteristics) drivers and receivers to allow
operation when SE SCSI devices are present on the bus.
Parallel SCSI Interface Product Manual, Rev. A
7
Download from Www.Somanuals.com. All Manuals Search And Download.
nexus—A relationship between a SCSI initiator port and a SCSI target port, logical unit, or queue tag that
begins with an initial connection and ends with the completion of the associated I/O process. This relationship
is formed as the result of a task.
object—An architectural abstraction or “container” that encapsulates data types, services, or other objects that
are related in some way.
odd parity—Odd logical parity, where the parity bit is driven and verified to be that value that makes the num-
ber of assertions on the associated data byte plus the parity bit equal to an odd number (1, 3, 5, 7, or 9). See
parity bit. If an even number of asserted bits are detected at the receiver, a parity error occurs.
paced transfer—Parallel transfers that transfer information using pacing.
pacing—Use of the ACK or REQ signal as a continuously running clock in combination with the P1 signal to
indicate when data is valid.
packetized—A method of transferring information using SPI information units. See object.
pad field—The portion of a data group that contains pad information.
parallel protocol request—Messages used to negotiate a synchronous data transfer agreement, a wide data
transfer agreement, and set the protocol options between two SCSI devices.
parity bit—A bit associated with a byte that is used to detect the presence of an odd number of asserted bits
within the byte. The parity bit is driven such that the number of logical ones in the byte plus the parity bit is odd.
pCRC field—The portion of a data group that contains pCRC information.
pCRC protection—The use of pCRC to detect DT DATA PHASE.
peer-to-peer protocol service—A service used by an upper level protocol implementation to exchange infor-
mation with its peer.
peer entities—Entities within the same (protocol) layer.
pending task—A task that is not a current task.
physical interconnect—A single physical pathway for the transfer of information between SCSI devices in a
domain.
physical reconnect—The act of resuming a nexus to continue a task. A SCSI target port initiates a physical
reconnect when conditions are appropriate for the physical bus to transfer data associated with a nexus
between a SCSI initiator port and a SCSI target port.
physical reconnection—The result of a physical reconnect that exists from the assertion of the BSY signal in
a SELECTION or RESELECTION PHASE. A physical reconnection ends with the BUS FREE PHASE (see
port—Synonymous with “service delivery port.” A single attachment to a SCSI bus from a SCSI device.
procedure—An operation that can be invoked through an external calling interface.
protocol—The rules governing the content and exchange of information passed between distributed objects
through the service delivery subsystem.
protocol option—An option whose definition within a SCSI protocol standard is discretionary.
protocol service confirmation—A signal from the lower level protocol service layer notifying the upper layer
that a protocol service request has completed.
protocol service indication—A signal from the lower level protocol service layer notifying the upper level that
a protocol transaction has occurred.
8
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
protocol service request—A call to the lower level protocol service layer to begin a protocol service transac-
tion.
protocol service response—A reply from the upper level protocol layer in response to a protocol service indi-
cation.
quick arbitration and selection process (QAS)—Quicker than the normal arbitration and selection process.
Implementation is optional for SCSI devices.
queue—The arrangement of tasks within a task set, usually according to the temporal order in which they were
created. See task set.
queue tag—The parameter associated with a task that uniquely identifies it from other tagged tasks for a logi-
cal unit from the same initiator.
receiver—A client or server that is the recipient of a service delivery transaction.
reference model—A standard model used to specify system requirements in an implementation-independent
manner.
request—A transaction invoking a service.
request-response transaction—An interaction between a pair of distributed, cooperating objects, consisting
of a request for service submitted to an object followed by a response conveying the result.
request-confirmation transaction—An interaction between a pair of cooperating objects, consisting of a
request for service submitted to an object followed by a response for the object confirming request completion.
reset event—A protocol-specific event which may trigger a hard reset response from a SCSI device as
response—A transaction conveying the result of a request.
SCSI application layer (SAL)—The protocols and procedures that implement or invoke SCSI commands and
task management functions by using services provided by a SCSI protocol layer.
SCSI device—A device that contains at least one SCSI port and the means to connect its drivers and receiv-
ers to the bus.
SCSI device identifier—An address by which a SCSI device is referenced within a domain.
SCSI I/O system—An I/O system, consisting of two or more SCSI devices, a SCSI interconnect and a SCSI
protocol, which collectively interact to perform SCSI I/O operations.
SCSI protocol layer—The protocol and services used by a SCSI application layer to transport data represent-
ing a SCSI application protocol transaction.
sender—A client or server that originates a service delivery transaction.
server—A SCSI object that performs a service on behalf of a client.
service—Any operation or function performed by a SCSI object, which can be invoked by other SCSI objects.
service delivery failure—Any non-recoverable error causing the corruption or loss of one or more service
delivery transactions while in transit.
service delivery port—A device-resident interface used by the application client, device server or task man-
ager to enter and retrieve requests and responses from the service delivery subsystem. Synonymous with
“port.”
service delivery subsystem—That part of a SCSI I/O system which transmits service requests to a logical
unit or target and returns logical unit or target responses to a SCSI initiator port.
Parallel SCSI Interface Product Manual, Rev. A
9
Download from Www.Somanuals.com. All Manuals Search And Download.
service delivery transaction—A request or response sent through the service delivery subsystem.
signal—(n) A detectable asynchronous event possibly accompanied by descriptive data and parameters. (v)
The act of generating such an event.
single transition (ST)—The latching of data only on the assertion edge of the REQ or ACK signals.
source device—The SCSI device from which a service delivery transaction originates. See destination device.
SPI information unit—Data structures that encapsulate data, status, command, task attributes, iuCRC, and
nexus information into various formats.
SPI L_Q information unit—The SPI L_Q information unit (see Section 6.2.2, tables 49 and 50) contains L_Q
nexus (Logical unit—Q tag relationship) information for the information unit that follows, the type of information
unit that follows, and the length of information unit that follows. A SPI L_Q information unit shall precede all SPI
command information units, SPI multiple command information units, SPI data information units, SPI status
information units, and the first of an uninterrupted sequence of SPI data stream information units.
subsystem—An element in a hierarchically partitioned system which interacts directly only with elements in
the next higher division or the next lower division of that system.
suspended information—Information stored within a logical unit that is not available to any pending tasks.
target—A SCSI device which receives SCSI commands and directs such commands to one or more logical
units for execution.
task—An object within the logical unit representing the work associated with a command or group of linked
commands. A task consists of one initial connection and zero or more physical or logical reconnections, all per-
taining to the task.
task abort event—An event or condition indicating that the task has been aborted by means of a task man-
agement function.
task address—a SCSI initiator port identifies a task to a SCSI target port using a Task Address. The Task
Address object represents either a Tagged Task Address or an Untagged Task Address without regard for the
tagged or untagged nature of the Task. A Tagged Task Address is composed of a Logical Unit Identifier and a
Tag. An Untagged Task Address is composed of a Logical Unit Identifier.
task completion event—An event or condition indicating that the task has ended with a service response of
Task Complete.
task ended event—An event or condition indicating that the task has completed or aborted.
task management function—A task manager service which can be invoked by an application client to affect
the execution of one or more tasks.
task management request—A request submitted by an application client, invoking a task management func-
tion to be executed by a task manager.
task management response—The response returned to an application client by a task manager on comple-
tion of a task management request.
task manager—A server within the target which executes task management functions.
task set—A group of tasks within a SCSI target port device, whose interaction is dependent on the queuing
task slot—Resources within the logical unit that may be used to contain a task.
task tags—A Tag is a field containing up to 64 bits that is a component of a Tagged Task Identifier. A SCSI ini-
tiator port assigns tag values in each Tagged Task Identifier in a way that ensures that the identifier uniqueness
requirements stated in ANSI SAM-4, T10/1683-D, are met.
10
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
third-party command—A SCSI command which requires a logical unit within the target device to assume the
initiator role and send a SCSI command to a SCSI target port device.
transaction—A cooperative interaction between two objects, involving the exchange of information or the exe-
cution of some service by one object on behalf of the other.
transfer period—The negotiated time between edges of REQ or ACK that latch data. For ST, the transfer
period is measured from assertion edge of the REQ or ACK signal to the next assertion edge of the signal. For
DT, the transfer period is measured from a transition edge of the REQ or ACK signal to the next transition edge
of the signal.
unconfirmed protocol service—A service available at the protocol service interface, which does not result in
a completion confirmation.
unlinked command—A SCSI command having the link bit set to zero in the CDB control byte.
upper level protocol—An application-specific protocol executed through services provided by a lower level
protocol.
1.2.2
Keywords
Several keywords are used to differentiate between different levels of requirements and optionality, as follows:
vendor-specific—Specification of the referenced item is determined by the device vendor.
protocol-specific—Implementation of the referenced item is defined by a SCSI protocol standard (see Sec-
expected—A keyword used to describe the behavior of the models specified by this standard.
invalid—A keyword used to describe an illegal or unsupported bit, byte, word, field, or code value. Receipt of
an invalid bit, byte, word, field, or code value shall be reported as an error.
mandatory—A keyword indicating items required to be implemented as defined by this standard.
may—A keyword that indicates flexibility of choice with no implied preference (equivalent to “may or may not”).
may not—Keywords that indicates flexibility of choice with no implied preference (equivalent to “may or may
not”).
obsolete—A keyword indicating items that were defined in prior SCSI standards but have been removed from
this standard.
option, optional—Keywords that describe features which are not required to be implemented by this stan-
dard. However, if any optional feature defined by the standard is implemented, it shall be implemented as
defined by the standard.
reserved—A key word referring to bits, bytes, words, fields, and code values that are set aside for future stan-
dardization. Their use and interpretation may be specified by future extensions to this or other standards. A
reserved bit, byte, word, or field shall be set to zero, or in accordance with a future extension to this standard.
Recipients are not required to check reserved bits, bytes, words, or fields for zero values. Receipt of reserved
code values in defined fields shall be treated as an error.
shall—A keyword indicating a mandatory requirement. Designers are required to implement all such manda-
tory requirements to ensure interoperability with other standard conformant products.
should—A keyword indicating flexibility of choice with a strongly preferred alternative. Equivalent to the
phrase “it is recommended.”
Parallel SCSI Interface Product Manual, Rev. A
11
Download from Www.Somanuals.com. All Manuals Search And Download.
1.3
Physical interface characteristics
The physical interface characteristics (cables, connectors, electrical descriptions, termination requirements,
etc.) for the drives covered by this Interface Manual are found in each individual drive’s Product Manual, since
these features are not the same for all drives.
1.4
Summary of SCSI messages
Following is an alphabetical summary of the SCSI messages described in this manual. Details are given in
Message Name
Hex Code
06
Page number
ABORT TASK
CLEAR QUEUE
0E
DISCONNECT
04
EXTENDED MESSAGE
IDENTIFY
01
80-FF
IGNORE WIDE RESIDUE
INITIATE RECOVERY
INITIATOR DETECTED ERROR
MESSAGE PARITY ERROR
MESSAGE REJECT
23
0F
Not described in this manual
05
09
07
MODIFY DATA POINTER
NO OPERATION
01, 05, 00
89 (extended message)
08
PARALLEL PROTOCOL REQUEST
QAS REQUEST
01, 06, 04
55
RELEASE RECOVERY
RESTORE POINTERS
SAVE DATA POINTERS
SYNCHRONOUS DATA TRANSFER REQUEST
TASK ATTRIBUTE MESSAGES
10
Not described in this manual
03
02
01, 03, 01
97 (extended message)
ACA (AUTO CONTINGENT
ALLEGIANCE)
24
HEAD OF QUEUE TAG
LINKED COMMAND COMPLETE
ORDERED QUEUE TAG
SIMPLE QUEUE TAG
TASK COMPLETE
21
0A
22
20
00
TASK MANAGEMENT MESSAGES
ABORT TASK
00
ABORT TASK SET
06
CLEAR ACA
16
CLEAR TASK SET
0E
LOGICAL UNIT RESET
TARGET RESET
17
0C
01, 03
WIDE DATA TRANSFER REQUEST
100 (extended message)
12
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
2.0
SCSI bus
This manual discusses only the “logical” and timing characteristics of the SCSI system and interface. A general
description of the SCSI bus physical characteristics (voltages, connector configurations, pinouts, etc.) are
given in the individual drive’s Product Manual, in the “Interface requirements” section, which covers the inter-
face requirements and SCSI features supported by the drive described in the particular Product Manual being
referenced. For all of the physical details of the SCSI interface, consult the ANSI standards referenced in Sec-
Communication on the SCSI Bus is allowed between only two SCSI devices at a time. Seagate drives support
systems with a maximum of 16 SCSI devices including the host computer(s) connected to the SCSI bus. Each
SCSI device has a SCSI ID bit assigned as shown in Table 1. The SCSI ID is assigned by installing 0-3 jumper
plugs onto a connector in a binary coded configuration during system configuration. Some drive models have
an interface that includes the SCSI bus ID lines, so that the host can set the drive ID over the interface (see
individual drive’s Product Manual, “Option/configuration headers” section).
When two SCSI devices communicate on the SCSI Bus, one acts as a SCSI initiator port and the other acts as
a SCSI target port. The initiator (typically a host computer) originates an I/O process and the target performs
whatever operations/tasks are called for by the I/O process. Devices arbitrate to get control of the bus to per-
form whatever communications are required by the current I/O process. As part of the arbitration process,
devices on the SCSI bus assert their bus ID (one of the DB lines as shown in Table 1). The arbitration process
is discussed in more detail later. Devices supported by this interface specification always operate as targets,
unless otherwise specified (i.e., if certain commands are supported) in the individual drive’s Product Manual,
Volume 1.
Parallel SCSI Interface Product Manual, Rev. A )
13
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 1:
SCSI
SCSI IDs and associated SCSI bus arbitration priorities
DB DB DB
DB
0
Priority
address 15
8
7
7
6
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
-
-
1
2
-
-
-
-
-
-
1
-
-
-
-
-
-
-
-
5
3
4
4
3
5
2
6
1
7
0
8
15
14
13
12
11
10
9
9
10
11
12
13
14
15
16
8
Key: - = a logical 0 bit resulting from the data bus bit being released
The Host Adapter/Initiator must be identified by one of the 16 SCSI Device IDs (usually 7, which is highest arbi-
tration priority). Make sure that none of the devices on the SCSI bus have duplicate IDs.
Certain SCSI bus functions are assigned to the initiator and certain SCSI bus functions are assigned to the tar-
get. The initiator will select a particular target. The target will request the transfer of Command, Data, Status, or
other information on the data bus.
Under SCSI-2 protocol, information transfers on the data bus are interlocked and follow a defined REQ/ACK
Handshake protocol. One byte of information will be transferred with each handshake. Synchronous data
transfers do not require a one-for-one interlocking of REQ/ACK signals, but the total number of REQ pulses in
a particular data transfer event must equal the total number of ACK pulses. The synchronous data transfer
option is described in Paragraphs 3.1.5.2 and 3.5.3.2 of the Ultra2 SCSI Interface Manual, part number
77738479.
This Ultra160/Ultra320 Parallel SCSI Interface Manual, discusses SCSI-3 protocol (now called only “SCSI”).
There are now different ways of latching data from the REQ and ACK signals, depending on whether ST DATA
phases, DT DATA phases, or paced transfers are being used for information transfers. This is described in
The drive supports single initiator, single target; single initiator, multiple target; multiple initiator, single target; or
multiple initiator, multiple target bus configurations.
14
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.1
SCSI bus signals overview
Information transfer on the SCSI bus is allowed between only two SCSI devices at any given time except dur-
ing MESSAGE IN PHASE when QAS is enabled. All SCSI devices that have QAS enabled are required to
monitor messages during a MESSAGE IN PHASE for a QAS REQUEST MESSAGE. The maximum number of
SCSI devices is determined by the width of the data path implemented. The SCSI devices may be any combi-
nation of SCSI initiator ports (commonly called “initiators”) and SCSI target ports (commonly called “targets”),
provided there is at least one of each.
Each SCSI device has a SCSI address and a corresponding SCSI ID bit assigned to it. When two SCSI
devices communicate on the SCSI bus, one acts as the initiator and the other acts as the target. The initiator
originates an I/O process and the target receives the I/O process.
Some drive models have a single 80-pin I/O connector that contains additional interface lines that carry drive
configuration select signals. These are peculiar to certain drives and are not SCSI standard signals. These are
described in the individual drive’s product manual, Volume 1.
The 28 SCSI standard signals are described as follows:
BSY (Busy)—An “OR-tied” signal to indicate the bus is being used.
SEL (Select)—An “OR-tied” signal used by a SCSI initiator port to select a SCSI target port, or by a SCSI tar-
get port to reselect a SCSI initiator port.
C/D (Control/Data)—A signal sourced by a SCSI target port that indicates whether CONTROL or DATA
PHASE information is on the data bus. Assertion indicates Control (i.e., COMMAND, STATUS, and MESSAGE
phases).
I/O (Input/Output)—A signal sourced by a SCSI target port to control the direction of data movement on the
Data Bus with respect to a SCSI initiator port. Assertion indicates input to the initiator. This signal also distin-
guishes between SELECTION and RESELECTION phases.
MSG (Message)—A signal sourced by a SCSI target port to indicate the MESSAGE phase or a DT DATA
phase depending on whether C/D is true or false. Asserted indicates MESSAGE or DT DATA.
REQ (Request)—A signal sourced by a SCSI target port to indicate a request for an information transfer on the
SCSI bus.
ACK (Acknowledge)—A signal sourced by a SCSI initiator port to respond with an acknowledgment of an
information transfer on the SCSI bus.
ATN (Attention)—A signal sourced by a SCSI initiator port to indicate the Attention condition.
DIFFSENS (Differential Sense)/Multimode—SE or LVD alternative—“LW” and “LC” models have I/O cir-
cuits that can operate either in single-ended (SE) or low voltage differential (LVD) mode. When the interface
DIFFSENS line is between -0.35 V and +0.5 V, the drive interface circuits operate single-ended. When DIFFS-
ENS is between +0.7 V and +1.9 V, the drive interface circuits operate low voltage differential. This arrange-
ment is not intended to allow dynamically changing transmission modes, but rather to prevent incompatible
devices from attempting to interoperate. Drives must operate only in the mode for which the installation and
interface cabling is designed. Multimode I/O circuits used by “LW” and “LC” devices do not operate at high volt-
age differential levels and should never be exposed to high voltage differential environments unless the com-
mand mode voltages in the environment are controlled to safe levels for single-ended and low voltage
differential devices (see the ANSI SPI-5 specification). High Voltage Differential (HVD) is now an obsolete
ANSI standard.
P_CRCA (Parity/CRC Available)—A signal identifying either parity or CRC available based on bus phase and
negotiated settings.
Parallel SCSI Interface Product Manual, Rev. A )
15
Download from Www.Somanuals.com. All Manuals Search And Download.
During the SELECTION PHASE, RESELECTION PHASE, ST DATA PHASE, COMMAND PHASE, MESSAGE
PHASE, and STATUS PHASE, this signal is referred to as DB(P_CRCA) and is sourced by the SCSI device
port driving the Data Bus. The DB(P_CRCA) signal is associated with the DB(7-0) signals and is used to detect
the presence of an odd number of bit errors within the byte. The DB(P_CRCA) bit is driven such that the num-
ber of logical ones in the byte plus the parity bit is odd.
Data group transfers are enabled (see Section 4.3.12) when this signal is referred to as P_CRCA and is
sourced by the target to control whether a data group field is a pad field, pCRC field, or data field (see Section
2.11.1). When asserted, the data group field shall be pad or pCRC fields that shall not be transferred to the
application client. When negated, the data group field shall be a data field that shall be transferred to the appli-
cation client.
During DT DATA phases when information unit transfers are enabled, this signal is referred to as P_CRCA and
sourced by the SCSI target. Depending on the negotiated condition of read streaming and write flow control,
the SCSI initiator and target usage for P_CRCA is different. When information unit transfers are enabled, the
SCSI target and initiator shall use the P_CRCA signal as indicated in Table 2.
Table 2:
P_CRC signal usage requirements
SCSI initiator
Write flow
control
Read
streaming
response to
P_CRCA
DT Data phase
All
DT DATA IN
SCSI target usage of P_CRCA
Continuously negated.
Disabled
Enabled
Disabled
Disabled
Ignore
Ignore
Continuously negated.
DT DATA OUT Monitor
Asserts to indicate when the current SPI data stream
information unit is the last SPI data stream information
unit of the current write stream.
Disabled
Enabled
Enabled
Enabled
DT DATA IN
Monitor
Asserts to indicate when the current SPI data stream
information unit is the last SPI data stream information
unit of the current read stream.
DT DATA OUT Ignore
DT DATA IN Monitor
Continuously negated.
Asserts to indicate when the current SPI data stream
information unit is the last SPI data stream information
unit of the current read stream.
DT DATA OUT Monitor
Asserts to indicate when the current SPI data stream
information unit is the last SPI data stream information
unit of the current read stream.
A SCSI device is not required to use read streaming even if it is enabled
A SCSI device is not required to use write flow control even if it is enabled
P1 (Parity 1)—A signal normally sourced by the SCSI device driving the Data Bus. The P1 signal is associated
with the DB(15–8) signals and is used to detect the presence of an odd number of bit errors within the byte The
P1 bit is driven such that the number of logical ones in the byte plus the P1 bit is odd.
During the ST DATA PHASE with transfer length set for 8-bit transfers, COMMAND PHASE, MESSAGE
PHASE, and STATUS phase, the P1 signal shall not be driven by any SCSI device.
During the SELECTION phase and the RESELECTION phase on a 16-bit wide bus segment the P1 signal
shall be sourced by the SCSI device driving the DATA BUS.
When data group transfers are enabled (see Section 4.3.12), the P1 signal shall be continuously negated by
the SCSI device driving the DB(15-0) signals and shall be ignored by the SCSI device receiving the DB(15-0)
signals during DT DATA phases.
16
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
When information unit transfers are enabled, the P1 signal shall be continuously negated by the SCSI device
driving the DB(15-0) signals and shall be ignored by the SCSI device receiving the DB(15-0) signals during DT
DATA phases.
During DT DATA phases when information unit transfers and paced transfers are enabled the P1 signal shall
be sourced by the SCSI device driving the DATA BUS. The P1 signal is used to indicate the data valid or data
invalid state during paced transfers.
DB(7–0) (8-bit data bus)—Each data bit that forms the 8-bit data bus. Bit significance and priority during arbi-
DB(15–0) (16-bit data bus)—16 data bit signals that form the 16-bit Data Bus. Bit significance and priority dur-
Greater detail on each of the SCSI bus signals is found in the following sections.
2.1.1
Drive select
For SCSI ID selection, install drive select jumpers as shown in configuration selection figure in the individual
drive’s Product Manual. Refer to the “Physical interface” section of the individual drive’s Product Manual for the
location of the drive select header. Drives using the 8-bit data interface can have one of eight ID bits selected
by installing 0 through 2 (3) jumpers in a binary coded configuration on the drive select header. Drives using
the 16-bit data interface can have one of 16 ID bits selected by installing 0 through 3 (4) jumpers in a binary
coded configuration on the drive select header. “LC” model drives (80-pin direct connect I/O connector) can be
assigned their bus ID over the SCSI interface.
2.1.2
Signal values
Signals may assume true or false values. There are two methods of driving these signals. In both cases, the
signal shall be actively driven true, or asserted. In the case of OR-tied drivers, the driver does not drive the sig-
nal to the false state, rather the bias circuitry of the bus terminators pulls the signal false whenever it is
released by the drivers at every SCSI device. If any driver is asserted, then the signal is true. In the case of
non-OR-tied drivers, the signal may be negated. Negated means that the signal may be actively driven false,
or may be simply released (in which case the bias circuitry pulls it false), at the option of the implementor.
2.2
Signal states
SE signals
2.2.1
Signals may be in a true (asserted) or false (negated) state. Signals that are asserted are actively driven to the
true state. Signals that are negated may either be actively driven to the false state or released to the false
state. A signal that is released goes to the false state because the bias of the terminator pulls the signal false.
OR-tied signals shall not be actively driven false.
Note. The advantage of actively negating signals false during information transfer is that the noise margin is
higher than if the signal is simply released. This facilitates reliable data transfer at high transfer rates.
Bits of the data bus are defined as one when the signal is true and defined as zero when the signal is false.
2.2.2
LVD signals
Figure 3 defines the voltage and current definitions. A signal that is released goes to the false state because
the bias of the terminator pulls the signal false.
Parallel SCSI Interface Product Manual, Rev. A )
17
Download from Www.Somanuals.com. All Manuals Search And Download.
I
–
– SIGNAL
V
V
s
I
+
V
–
+ SIGNAL
+
– TRANSCEIVER
Figure 3.
Voltage and current definitions
Figure 4 defines the signaling sense of the voltages appearing on the – signal and + signal lines as follows:
a. The – signal terminal of the driver shall be negative with respect to the + signal terminal for an asserted
state.
b. The – signal terminal of the driver shall be positive with respect to the + signal terminal for a negated state.
LOGICAL 1
(ASSERTED)
(TRUE)
LOGICAL 0
(NEGATED)
(FALSE)
LOGICAL 1
(ASSERTED)
(TRUE)
VCM=(V++V–)/2
VCM
VN
VBIAS
0V (OFF)
VA
TIME
Figure 4.
LVD Signaling sense
Note. For a description of V
see Section 7.3.1 of ANSI specification (SPI-5), T10/1525D.
BIAS
2.3
OR-tied signals
The BSY, SEL, and RST signals shall be OR-tied. BSY and RST signals may be simultaneously driven true by
several SCSI devices. No signals other than BSY, SEL, RST, DB(P_CRCA), and DB(P1) are simultaneously
driven by two or more SCSI devices. DB(P_CRCA) and DB(P1) shall not be driven false during the ARBITRA-
TION PHASE but may be driven false in other phases.
18
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.4
Signal sources
Table 3 indicates the type of SCSI device allowed to source each signal. No attempt is made to show if the
source is driving asserted, driving negated, or is released. All SCSI device drivers that are not active sources
shall be in the high-impedance state. The RST signal may be asserted by any SCSI device at any time.
Table 3:
Signal sources
16 data bit (P) cable
8 data bit (A) cable
C/D, I/O,
MSG, REQ
DB(15-8),
DB(P1)
SCSI bus phase
BSY
None
All
SEL
None
Win
ACK, ATN
None
DB(7-0)
None
P_CRCA
None
BUS FREE
None
None
S ID
ARBITRATION
(NORMAL)
None
None
S ID
S ID
QAS ARBITRATION
SELECTION
PT
Win
None
None
Targ
Targ
Targ
Targ
Targ
Targ
Targ
Targ
Targ
None
Init
Init
Init
Init
Init
Init
Init
Init
Init
Init
S ID
Init
S ID
Init
S ID
Init
I & T
I & T
Targ
Targ
Targ
Targ
Targ
Targ
Targ
Targ
Init
RESELECTION
COMMAND
Targ
None
None
None
Targ
Targ
None
None
None
Targ
Init
Targ
Init
Targ
None
Targ
Init
ST DATA IN
Targ
Init
Targ
Init
ST DATA OUT
DT DATA IN
Targ
Init
Targ
Targ
Targ
Targ
Init
Targ
Init
DT DATA OUT
STATUS
Targ
Targ
Init
None
None
None
MESSAGE IN
MESSAGE OUT
Table abbreviations are defined as follows:
All: The signal shall be driven by all SCSI devices that are actively arbitrating.
S ID: A unique data bit (the SCSI ID) shall be driven by each SCSI device that is actively arbitrating; the other
data bits shall be released (i.e., not driven) by this SCSI device. The P_CRCA and DB(P1) bit(s) may be
released or driven to the true state, but shall not be driven to the false state during this phase.
I&T: The signal shall be driven by the initiator, target, or both, as specified in the SELECTION PHASE and
RESELECTION PHASE.
Init: If driven, this signal shall be driven only by the active initiator.
None: The signal shall be released; that is, not driven by any SCSI device. The bias circuitry of the bus termi-
nators pulls the signal to the false state.
Win: The signal shall be driven by the one SCSI device that wins arbitration.
Targ: If the signal is driven, it shall be driven only by the active target.
PT: Target that initiated the QAS arbitration.
Parallel SCSI Interface Product Manual, Rev. A )
19
Download from Www.Somanuals.com. All Manuals Search And Download.
2.5
SCSI bus timing
Unless otherwise indicated, the delay time measurements for each SCSI device, defined in paragraphs 2.5.1
through 2.5.60 shall be calculated from signal conditions existing at that SCSI device’s own SCSI bus connec-
tion. Thus, these measurements (except skew delay) can be made without considering delays in the cable.
Refer to the tables below for the actual timing values for these delays.
Table 4:
SCSI bus control timing values in nanoseconds
Timing
value (ns
unless
Reference
Type
Timing description
Arbitration delay
noted)
minimum
maximum
minimum
maximum
minimum
maximum
maximum
minimum
minimum
maximum
minimum
maximum
maximum
minimum
minimum
minimum
maximum
maximum
minimum
minimum
2.4 µs
800
Bus clear delay
800
Bus free delay
1.6 µs
400
Bus set delay
Bus settle delay
4
Cable skew [1]
400
Data release delay
DIFFSENS voltage filter time
Physical disconnection delay
Power on to selection [2]
QAS arbitration delay
QAS assertion delay
QAS release delay
QAS non-data phase REQ(ACK) period
Reset delay
100 ms
200 µs
10 s
1000
200
200
50
200
25 µs
250 ms
200 µs
250 ms
45
Reset hold time
Reset to selection [2]
Selection abort time
Selection time-out delay [2]
System deskew delay
[1]
[2]
Cable skew is measured at each SCSI device connection with the transmitted skew subtracted from the
received skew.
This is a recommended time. It is not mandatory.
20
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 5:
SCSI bus data and information phase ST timing values
Timing values for negotiated transfer rate in
nanoseconds unless otherwise noted [1]
Timing description
Reference
Type Asynch Fast-5 Fast-10 Fast-20 Fast-40
min
min
max
min
min
min
min
min
max
nom
min
min
min
min
max
90
33
17
33
17
21.5
8.5
3.0
11
19.25
6.75
2.5
ATN transmit setup time
ATN receive setup time
Cable skew [2]
45
4.0
4.0
70
4.0
22
N/A
N/A
N/A
N/A
N/A
8.0
6.5
Receive assertion period [3]
Receive negation period [3]
Receive REQ(ACK) period tolerance
Signal timing skew
25
25
11.5
11
4.75
6.5
70
22
15
15
6.5
1.1
5.0
50
4.75
1.1
1.1
8.0
200
80
1.1
8.0
100
30
4.5
N/A
N/A
N/A
N/A
N/A
N/A
25
REQ(ACK) period
15
8.0
Transmit assertion period [2]
Transmit negation period [3]
Transmit REQ(ACK) period tolerance
53
33
16.5
15
9.25
8.0
80
30
23
23
11.5
1.0
9.25
1.0
1.0
1.0
[1]
[2]
SCSI bus timing values specified by the maximum transfer rate for the given range shall apply even if a
slower transfer rate within the given range is negotiated.
Cable skew is measured at each SCSI device connection within the same bus segment with the transmit-
ted skew subtracted from the received skew.
[3]
[4]
See Section 9.6 in the ANSI SCSI Parallel Interface-5 (SPI-5) specification for examples of how to calcu-
late setup and hold timing.
Table 6:
Miscellaneous SCSI bus data and information phase DT timing values
Timing values for negotiated transfer rate in nanoseconds
unless otherwise noted [1]
Timing description
Cable skew [2]
Reference
Type Fast-10 Fast-20 Fast-40 Fast-80 Fast-160
Fast-320
max
nom
max
min
4.0
200
N/A
N/A
26.8
N/A
3.0
100
N/A
N/A
13.4
N/A
2.5
50
2.5
25
2.5
2.5
12.5
6.25
REQ(ACK) period
N/A
N/A
6.7
N/A
N/A
N/A
3.35
N/A
±0.15
4.85
± 0.20
4.85
Residual skew error [3]
Skew correction range [4]
Signal timing skew
Strobe offset tolerance
max
max
±0.125
±0.125
[1]
SCSI bus timing values specified by the maximum transfer rate for the given range shall apply even if a
slower transfer rate within the given range is negotiated.
Parallel SCSI Interface Product Manual, Rev. A )
21
Download from Www.Somanuals.com. All Manuals Search And Download.
[2]
Cable skew is measured at each SCSI device connection within the same bus segment with the transmit-
ted skew subtracted from the received skew.
[3]
[4]
Calculated assuming timing budget shown in Table 9.
Measured at the receiver terminal using clean input signals with 500 mV peak amplitude and 1 ns rise and
fall time between 20% and 80% of the signal.
[5]
Relative to the REQ(ACK) clocking signal.
Note. Fast-160 SCSI devices shall not change timing parameters between training (see Section 3.5.3.1) or
22
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 7:
Transmit SCSI bus data and information phase DT timing values
Timing values for negotiated transfer rate in nanoseconds
unless otherwise noted [1]
Fast-
Type Fast-10 Fast-20 Fast-40 Fast-80 160
Fast-
320
Timing description
Reference
min
min
min
min
min
min
min
max
min
max
48.4
38.4
48.4
38.4
48.4
92
29.2
19.2
29.2
19.2
29.2
46
19.6
9.6
14.8
4.8
14
14
14
14
ATN transmit setup time
Flow control transmit hold time
Flow control transmit setup time
pCRC transmit hold time
pCRC transmit setup time
Transmit assertion period [2]
19.6
9.6
14.8
4.8
14
14
N/A
N/A
5.69
4.77
1.0
N/A
N/A
2.565
0.365
0
19.6
23
14.8
11.5
4.8
38.4
19.2
9.6
Transmit ISI compensation
Transmit negation period [2]
92
46
23
11.5
0.6
5.69
0.06
2.565
0.06
0.6
0.6
0.6
Transmit REQ(ACK) period toler-
ance
min
97.5
54
35.5
24
N/A
N/A
Transmit REQ assertion period
with P_CRCA transitioning
min
max
max
38.4
N/A
N/A
19.2
N/A
N/A
9.6
N/A
N/A
4.8
N/A
N/A
1.48
-2.76
± 0.75
± 0.25
Transmitter skew
± 0.75
± 0.25
Transmitter time asymmetry
[1]
SCSI bus timing values specified by the maximum transfer rate for the given range shall apply even if a
slower transfer rate within the given range is negotiated.
See Section 9.6 in the ANSI SCSI Parallel Interface-5 (SPI-5) specification for examples of how to calcu-
late setup and hold timing.
[2]
[3]
Note. Fast-160 and fast 320 SCSI devices shall not change timing parameters between training or reset
events.
Parallel SCSI Interface Product Manual, Rev. A )
23
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 8:
Receive SCSI bus data and information phase DT timing values
Timing values for negotiated transfer rate in nanoseconds
unless otherwise noted [1]
Fast-
Reference Type Fast-10 Fast-20 Fast-40 Fast-80 160
Fast-
320
Timing description
min
min
min
min
min
min
min
min
min
min
13.6
11.6
18.6
11.6
18.6
80
7.8
5.8
12.8
5.8
12.8
40
4.9
2.9
9.9
2.9
9.9
20
3.45
1.45
8.45
1.45
8.45
8.5
3.0
3.0
3.0
3.0
ATN receive setup time
Flow control receive hold time
Flow control receive setup time
pCRC receive hold time
pCRC receive setup time
Receive assertion period [2]
3.0
3.0
N/A
N/A
N/A
N/A
4.74
-0.08
4.74
-6.33
0.06
1.615
-6.635
1.615
-9.76
0.06
11.6
80
5.8
40
2.9
20
1.45
8.5
Receive negation period [2]
11.6
0.7
5.8
0.7
2.9
0.7
1.45
0.7
Receive REQ(ACK) period toler-
ance
min
min
85.5
85.5
48
48
32.5
32.5
21
21
N/A
N/A
N/A
N/A
Receive REQ assertion period
with P_CRCA transitioning
Receive REQ negation period
with P_CRCA transitioning
max
min
min
min
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.345
0.345
±2.1
N/A
Receive skew compensation
Receive internal hold time [4]
Receive internal setup time [4]
0.032
0.032
± 1.1
Receiver de-skewed data valid
window [4]
[1]
SCSI bus timing values specified by the maximum transfer rate for the given range shall apply even if a
slower transfer rate within the given range is negotiated.
See Section 9.6 in the ANSI SCSI Parallel Interface-5 (SPI-5) specification for examples of how to calcu-
late setup and hold timing.
[2]
[3]
[4]
Calculated assuming timing budget shown in Table 9.
Note. Fast-160 and fast 320 SCSI devices shall not change timing parameters between training or reset
events.
24
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 9:
SCSI Fast-160 and fast 320 non-compensatable timing budget in nanoseconds
Fast-160
12.5
Fast-320
6.25
Item
Comments
REQ(ACK) period
Transfer period
From Table 7
6.25
3.125
REQ(ACK) period / 2
Post
Post
Total
Errors
Compen Total
Compen
sation
Worst case total of + and - time
shift except where noted
Transmitter and receiver errors:
sation
Errors
Transmitter errors:
0.06
0.06
0.06
0.06
REQ(ACK) period tolerance / 2
Tolerance of transmitter plus mea-
surement error
b
0.25
0.25
0.75
0.2
0.25
0.25
0
0.25
0.2
0.50
0.2
0
Clock Jitter
System noise at transmitter
Transmitter chip skew
Transmitter trace skew
Transmit time asymmetry
Time impact
0.75
0.2
0
0
0.50
0.50
0.50
0
Compensated for on fast-320
SCSI devices
2.01
1.06
1.96
0.51
Total transmitter error budget:
Receiver errors:
0.25
0.2
0.75
0.2
0.35
0
0.25
0.2
0
0.2
0.2
0.75
0.2
0.35
0
0.2
0.2
0
System noise at receiver
Chip noise in receiver
Receiver chip skew
Time impact
Time impact
0
0
Receiver trace skew
0.35
0.3
0.5
0
Receiver time asymmetry
Residual skew error
0.2
0.2
0.2
After skew compensation
0
0
Strobe offset tolerance
Offset induced time asymmetry
Accuracy of centering strobe
a
a
0.8
Time impact from cumulative D.C.
offsets at receiver
N/A
N/A
0.2
0.2
0.2
0.05
Receiver amplitude time skew
1.95
1.8
2.7
1.05
Total receiver error budget:
Total Transmitter + receiver error
budget:
3.96
2.29
2.86
3.39
4.44
1.53
Transfer period - (total transmitter
+ total receiver error budget)
Total timing error budget for
interconnect and system margin:
-1.535
1.565
a
Timing budgets in some previous standards neglected asymmetry & detection ambiguity and
lumps chip noise, clock jitter, crosstalk time shift, noise, ISI and receiver amplitude skew into
other terms (e.g., signal distortion skew) and/or ignores the effects.
b
Tolerance adjusted for half cycle (i.e., transfer period)
Parallel SCSI Interface Product Manual, Rev. A )
25
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 10: SCSI fast-160 and fast-320 interconnect timing budget in nanoseconds
Item
Fast-160
Fast-320
Comments
Nominals:
12.5
6.25
6.25
REQ(ACK) period
Transfer period
from table 6
REQ(ACK) period/2
3.125
Post
Post
Total
Compens Total
Compens Worst case total of + and -
Transmitter and receiver errors:
Interconnect errors:
Errors ation
Errors
ation
time shift except where noted
a b
2.5
0.7
4.0
0
2.5
0.5
4.0
0
Cable skew
0.7
2.0
0.5
Crosstalk time shift
ISI of data
Time impact
1.0
Worse case pattern
7.2
2.7
7.0
1.5
Total interconnect budget
a
b
See 2.5.8.
The residual deskew error is included in the receiver error budget.
Note. For more information on interconnect errors see the SCSI Passive Interconnect Performance standard.
2.5.1 Arbitration delay
The minimum time a SCSI device shall wait from asserting BSY for arbitration until the data bus can be exam-
2.5.2
ATN transmit setup time
When information unit transfers are not being used, the ATN transmit setup time is the minimum time provided
by the transmitter between the assertion of the ATN signal and the last negation of the ACK signal in any
phase.
When information unit transfers are being used with synchronous transfers, the ATN transmit setup time is the
minimum time provided by the transmitter between the assertion of the ATN signal and the negation of the ACK
signal corresponding to the last iuCRC transfer of an information unit.
When information unit transfers are being used with paced transfers, the ATN transmit setup time is the mini-
mum time provided by the transmitter between the assertion of the ATN signal and the assertion of the ACK
signal corresponding to the last iuCRC transfer of an information unit.
Specified to provide the increased ATN receive setup time, subject to intersymbol interference, cable skew,
and other distortions.
2.5.3
ATN receive setup time
When information unit transfers are not being used, the ATN receive setup time is the minimum time required
at the receiver between the assertion of the ATN signal and the last negation of the ACK signal in any phase to
recognize the assertion of an attention condition.
26
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
When information unit transfers are being used with synchronous transfers, the ATN receive setup time is the
minimum time required at the receiver between the assertion of the ATN signal and the negation of the ACK
signal corresponding to the last iuCRC transfer of an information unit to recognize the assertion of an attention
condition.
When information unit transfers are being used with paced transfers, the ATN receive setup time is the mini-
mum time required at the receiver between the assertion of the ATN signal and the assertion of the ACK signal
corresponding to the last iuCRC transfer of an information unit to recognize the assertion of an attention condi-
tion.
2.5.4
Bus clear delay
The maximum time for a SCSI device to stop driving all bus signals after:
1. The BUS FREE phase is detected (i.e., the BSY and SEL signals are both false for a bus settle delay).
2. The SEL signal is received from another SCSI device during the ARBITRATION phase.
3. The transition of the RST signal to true.
For item 1 above, the maximum time for a SCSI device to release all SCSI bus signals is 1200 ns from the BSY
and SEL signals first becoming both false. If a SCSI device requires more than a bus settle delay to detect
BUS FREE phase, it shall release all SCSI bus signals within a bus clear delay minus the excess time.
2.5.5
Bus free delay
The minimum time that a SCSI device shall wait from its detection of the BUS FREE phase (i.e., BSY and SEL
both false for a bus settle delay) until its assertion of the BSY signal in preparation for entering the ARBITRA-
TION phase.
2.5.6
Bus set delay
The maximum time for a SCSI device to assert the BSY signal and its SCSI ID after it detects a BUS FREE
phase for the purpose of entering the ARBITRATION phase.
2.5.7
Bus settle delay
The minimum time to wait for the bus to settle after changing certain control signals as specified in the protocol
definitions. Provides time for a signal transition to propagate from the driver to the terminator and back to the
driver.
2.5.8
Cable skew delay
The maximum difference in propagation time allowed between any two SCSI bus signals when measured
between any two SCSI devices excluding any signal distortion skew delays.
2.5.9
Chip noise in receiver
The maximum transition to transition time shift due to the internal physics of the receiving SCSI device circuitry.
2.5.10
Clock jitter
The maximum transition to transition time shift of SCSI bus signals caused by short term variations in the trans-
mitting SCSI device’s clock.
2.5.11
Crosstalk time shift
The peak-to-peak timeshift error on DB(0-15), P_CRCA, or DB(P1) caused by transitions on all other DB(0-
15), P_CRCA, or DB(P1) signals.
Parallel SCSI Interface Product Manual, Rev. A )
27
Download from Www.Somanuals.com. All Manuals Search And Download.
2.5.12
De-skewed data valid window
The minimum difference in time allowed between the rising or falling edge of a “1010...” pattern on the DAT
BUS or DB(P1) and its clocking signal on the ACK or REQ signal as measured at their zero-crossing points
after skew compensation is applied by the receiver without allowing any error in the received data. The de-
skewed data valid window shall be equal to:
+/– [(data transfer period) – (residual skew error) – (strobe offset tolerance) – (clock jitter) – (receiver amplitude
skew) – (ship noise) – (system noise at receiver) – (receiver asymmetry)] / 2.
2.5.13
Flow control receive hold time
The maximum time required by the initiator between the assertion of the REQ signal corresponding to the last
iuCRC transfer of a SPI data streaming information unit and the changing of the P_CRCA signal.
2.5.14
Flow control receive setup time
The maximum time required by the initiator between the assertion of the P_CRCA signal and the assertion of
the REQ signal corresponding to the last iuCRC transfer of a SPI data streaming information unit. Also, the
maximum time required by the initiator between the negation of the P_CRCA signal and the assertion of the
REQ signal corresponding to any valid data transfer of a SPI L_Q information unit.
2.5.15
Flow control transmit hold time
The minimum time provided by the target between the assertion of the REQ signal corresponding to the last
iuCRC transfer of a SPI data stream information unit and the changing of the P_CRCA signal. Specified to pro-
vide the increased P_CRCA receive setup time, subject to intersymbol interference, cable skew, and other dis-
tortions.
2.5.16
Flow control transmit setup time
The minimum time provided by the target between the assertion of the P_CRCA signal and the assertion of the
REQ signal corresponding to the last iuCRC transfer of a SPI data streaming information unit. Also, the mini-
mum time provided by the target between the negation of the P_CRCA signal and the assertion of the REQ
signal corresponding to any valid data transfer of a SPI L_Q information unit. Specified to provide the
increased P_CRCA receive setup time, subject to intersymbol interference, cable skew, and other distortions.
2.5.17
pCRC receive hold time
The minimum time required at the receiver between the transition of the REQ signal and the transition of the
P_CRCA signal during data group transfers.
2.5.18
pCRC receive setup time
The minimum time required at the receiver between the transition of the P_CRCA signal and the transition of
the REQ signal during data group transfers. Specified to ease receiver timing requirements and ensure that
this signal, that is outside CRC protection, is received correctly.
2.5.19
pCRC transmit hold time
The minimum time provided by the transmitter between the transition of the REQ signal and the transition of
the P_CRCA signal during data group transfers.
2.5.20
pCRC transmit setup time
The minimum time provided by the transmitter between the transition of the P_CRCA signal and the transition
of the REQ signal during data group transfers. Specified to provide the increased receive setup time, subject to
intersymbol interference, cable skew, and other distortions.
28
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.5.21
Data release delay
The maximum time for a SCSI initiator port to release the DATA BUS, DB(P_CRCA), and/or DB(P1) signals,
following the transition of the I/O signal from false to true.
2.5.22
DIFFSENS voltage filter time
The minimum time DIFFSENS voltage shall be sensed continuously within the voltage range of a valid SCSI
bus mode.
2.5.23
Offset induced time asymmetry
Time symmetry error created by the cumulative sum of all offset errors seen by the receiver. This includes non-
symmetrical transmitter drive plus terminator current mismatch, receiver offset, and voltage drop due to resis-
tance in the interconnect within the cable or backplane.
2.5.24
Physical disconnection delay
The minimum time that a SCSI target port shall wait after releasing BSY before participating in an ARBITRA-
TION phase when honoring a DISCONNECT MESSAGE from the initiator.
2.5.25
Power on to selection
The recommended maximum time from power application until a SCSI target is able to respond with appropri-
ate status and sense data to the TEST UNIT READY, INQUIRY, and REQUEST SENSE commands (see ANSI
SCSI Primary Commands-4 standard).
2.5.26
QAS arbitration delay
The minimum time a SCSI device with QAS enabled shall wait from the detection of the MSG, C/D, and I/O sig-
nals being false to start QAS until the data bus is examined to see if QAS has been won (see Section 4.3.12).
2.5.27
QAS assertion delay
The maximum time allowed for a SCSI device to assert certain signals during QAS.
2.5.28
QAS release delay
The maximum time allowed for a SCSI device to release certain signals during QAS.
2.5.29
QAS non-data phase REQ(ACK) period
The minimum time a QAS-capable initiator shall ensure the REQ and ACK signals are asserted and that the
data is valid during the COMMAND, MESSAGE, and STATUS phases.
2.5.30
Receive assertion period
The minimum time required at a SCSI device receiving a REQ signal for the signal to be asserted while using
synchronous transfers or paced transfers, provided P_CRCA is not transitioning during data group transfers.
Also, the minimum time required at a SCSI device receiving an ACK signal for the signal to be asserted while
using synchronous transfers or paced transfers. For SE Fast-5 and Fast-10 operation, the time period is mea-
sured at the 0,8 V level. For SE Fast-20 operation, the period is measured at the 1,0 V level. For LVD, see SPI-
5 Section 9, for signal measurement points.
2.5.31
Receive hold time
For ST data transfers, the minimum time required at the receiving SCSI device between the assertion of the
REQ signal or the ACK signals and the changing of the Data Bus, DB(P_CRCA), and/or DB(P1) signals while
using synchronous data transfers, provided P_CRCA is not transitioning during data group transfers. For DT
data transfers, the minimum time required at the receiving SCSI device between the transition (i.e., assertion
or negation) of the REQ signal or the ACK signals and the changing of the data bus, DB(P_CRCA), and/or
Parallel SCSI Interface Product Manual, Rev. A )
29
Download from Www.Somanuals.com. All Manuals Search And Download.
DB(P1) signals. For paced data transfers negative values as measured at the device connector are accommo-
dated by skew compensation in the receiver. Receive hold time measured at the device connector shall not
exceed the skew correction range.
2.5.32
Receive internal hold time
The minimum time provided for hold time in the receive data detector after allowance for timing errors and tim-
ing compensation from all sources measured from the worst-case bit (i.e., data or parity) to the compensated
offset strobe.
Note. This time may not be observable to other than the SCSI device designer.
2.5.33
Receive internal setup time
The minimum time provided for setup time in the receive data detector after allowance for timing errors and
timing compensation from all sources measured from the worst-case bit (i.e., data or parity) to the compen-
sated offset strobe.
Note. This time may not be observable to other than the SCSI device designer.
2.5.34
Receive negation period
The minimum time required at a SCSI device receiving a REQ signal for the signal to be negated while using
synchronous transfers or paced transfers. Also, the minimum time required at a SCSI device receiving an ACK
signal for the signal to be asserted while using synchronous transfers or paced transfers. For SE Fast-5 and
Fast-10 operation, the time period is measured at the 2,0 V level. For SE Fast-20 operation the period is mea-
sured at the 1,9 V level. For LVD, see SPI-5 Section 9, for signal measurement points.
2.5.35
Receive setup time
For ST data transfers, the minimum time required at the receiving SCSI device between the changing of Data
Bus, DB(P_CRCA), and/or DB(P1) signals and the assertion of the REQ signal or the ACK signal while using
synchronous data transfers. For DT data transfers, the minimum time required at the receiving SCSI device
between the changing of Data Bus, DB(P_CRCA), and/or DB(P1) signals and the transition of the REQ signal
or the ACK signal. For paced data transfers negative values as measured at the device connector are accom-
modated by skew compensation in the receiver. Receive setup time measured at the device connector shall
not exceed the skew correction range.
2.5.36
Receive REQ(ACK) period tolerance
The minimum tolerance that a SCSI device shall allow to be subtracted from the REQ(ACK) period. The toler-
ance comprises the transmit REQ(ACK) tolerance plus a measurement error due to noise.
2.5.37
Receive REQ assertion period with P_CRCA transitioning
The minimum time required at a SCSI device receiving a REQ signal for the signal to be asserted while
P_CRCA is transitioning during data group transfers. Specified to ensure that the assertion period is longer
than the receive hold time plus the receive setup time.
2.5.38
Receive REQ negation period with P_CRCA transitioning
The minimum time required at a SCSI device receiving a REQ signal for the signal to be negated while
P_CRCA is transitioning during data group transfers. Specified to ensure that the negation period is longer
than the receive hold time plus the receive setup time.
2.5.39
Receive skew compensation
The effective reduction in worst-case timing skew of data, parity, and strobe signals provided by the receiving
SCSI device but not directly observable at the receiving SCSI device connector.
30
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.5.40
Receiver amplitude time skew
The maximum time shift of SCSI bus signals caused by the difference in receiver switching delay of a minimum
amplitude signal versus a maximum amplitude signal.
2.5.41
REQ(ACK) period
The REQ(ACK) period during synchronous transfers or paced transfers is the nominal time between adjacent
assertion edges of the REQ or ACK signal for the fastest negotiated transfer rate. For the purpose of calculat-
ing the actual REQ(ACK) period tolerance the REQ(ACK) period should be measured without interruptions
(e.g., offsets pauses). To minimize the impact of crosstalk and ISI the measurements should be made by aver-
aging the time between edges during long (i.e., greater than 512 bytes) all zeros or all ones data transfers and
by ignoring the first and last 10 transitions.
In DT DATA phases, the negotiated transfer period for data is half that of the REQ(ACK) period since data is
qualified on both the assertion and negation edges of the REQ or ACK signal. In ST DATA phases, the negoti-
ated transfer period for data is equal to the REQ(ACK) period during synchronous transfers since data is only
qualified on the assertion edge of the REQ or ACK signal.
2.5.42
Reset delay
The minimum time that the RST signal shall be continuously true before the SCSI device shall initiate a hard
reset.
2.5.43
Reset hold time
The minimum time that the RST signal is asserted. There is no maximum time.
2.5.44
Reset to selection
The recommended maximum time from after a reset condition until a SCSI target is able to respond with appro-
priate status and sense data to the TEST UNIT READY, INQUIRY, and REQUEST SENSE commands (see
SCSI Primary Commands-4 Standard).
2.5.45
Residual skew error
The maximum timing error between the deskewed data and REQ or ACK internal to the receiving SCSI device
after skew compensation.
2.5.46
Selection abort time
The maximum time that a SCSI device shall take from its most recent detection of being selected or reselected
until asserting the BSY signal in response. This timeout is required to ensure that a SCSI target port or initiator
does not assert the BSY signal after a SELECTION or RESELECTION phase has been aborted.
2.5.47
Selection timeout delay
The minimum time that a SCSI initiator port or target should wait for the assertion of the BSY signal during the
SELECTION or RESELECTION phase before starting the timeout procedure. Note that this is only a recom-
mended time period.
2.5.48
Signal timing skew
The maximum signal timing skew occurs when transferring random data and in combination with interruptions
of the REQ or ACK signal transitions (e.g., pauses caused by offsets). The signal timing skew includes cable
skew (measured with 0101...) patterns and signal distortion skew caused by random data patterns and trans-
mission line reflections as shown in ANSI standard SPI-5, T10/1525D. The receiver detection range is the part
of the signal between the “may detect” level and the “shall detect” level on either edge (see Section 8.3).
Note. For timing budget purposes the value stated in Table 6 is calculated without the benefit of skew com-
Parallel SCSI Interface Product Manual, Rev. A )
31
Download from Www.Somanuals.com. All Manuals Search And Download.
pensation.
Skew correction range
2.5.49
The minimum skew correction capability of the receiver of a signal on the DATA BUS or DB(P1) relative to the
ACK or REQ signal as measured at the receiver’s connector. The skew correction range shall be equal to:
+/– [(transmitter chip skew) + (cable skew) + (two times trace skew)]
relative to the corresponding ACK or REQ clock signal for that transition. Receiver chip skew is not included,
as it is internal to the receiver.
2.5.50
Strobe offset tolerance
The time tolerance of centering the compensated REQ or ACK strobe in the transfer period during the training
pattern.
2.5.51
System deskew delay
The minimum time that a SCSI device should wait after receiving a SCSI signal to ensure that asynchronous
transfers at the same time are valid. The system deskew delay shall not be applied to the synchronous trans-
fers or paced transfers.
2.5.52
System noise at launch
The maximum time shift of SCSI bus signals caused by system noise at the transmitter (e.g., noise caused by
current changes in the voice coil) measured at the transmitting SCSI device connector.
2.5.53
System noise at receiver
The maximum time shift of SCSI bus signals caused by system noise at the receiver (e.g., noise caused by
current changes in the voice coil) measured at the receiving SCSI device connector not including the time shift
from the system noise at launch.
2.5.54
Time asymmetry
The maximum time difference between the asserted and negated signal for data, REQ, or ACK transitions that
are intended to be equidistant.
2.5.55
Transmit assertion period
The minimum time that a SCSI target port shall assert the REQ signal while using synchronous transfers or
paced transfers, provided it is not transitioning P_CRCA during data group transfers. Also, the minimum time
that a SCSI initiator port shall assert the ACK signal while using synchronous transfers or paced transfers.
2.5.56
Transmit hold time
For ST data transfers, the minimum time provided by the transmitting SCSI device between the assertion of the
REQ signal or the ACK signal and the changing of the Data Bus, DB(P_CRCA), and/or DB(P1) while using
synchronous data transfers. For DT data transfers, the minimum time provided by the transmitting SCSI device
between the transition of the REQ signal or the ACK signal and the changing of the Data Bus, DB(P_CRCA),
and/or DB(P1).
2.5.57
Transmit ISI compensation
The effective reduction in worst-case ISI timing shift provided by the transmitting SCSI device as seen at the
receiving SCSI device connector.
2.5.58
Transmit negation period
32
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
The minimum time that a SCSI target port shall negate the REQ signal while using synchronous transfers or
paced transfers, provided it is not transitioning P_CRCA during data group transfers. Also, the minimum time
that a SCSI initiator port shall negate the ACK signal while using synchronous transfers or paced transfers.
2.5.59
Transmit setup time
For ST data transfers, the minimum time provided by the transmitting SCSI device between the changing of
Data Bus, DB(P_CRCA), and/or DB(P1) and the assertion of the REQ signal or the ACK signal while using
synchronous data transfers. For DT data transfers, the minimum time provided by the transmitting SCSI device
between the changing of Data Bus, DB(P_CRCA), and/or DB(P1) and the transition of the REQ signal or the
ACK signal.
2.5.60
Transmit REQ(ACK) period tolerance
The maximum tolerance that a SCSI device may subtract from the REQ(ACK) period.
2.5.61
Transmit REQ assertion period with P_CRCA transitioning
The minimum time that a SCSI target port shall assert the REQ signal while transitioning P_CRCA during data
group transfers. Specified to provide the increased receive REQ assertion period, subject to loss on the inter-
connect.
2.5.62
Transmit REQ negation period with P_CRCA transitioning
The minimum time that a SCSI target port shall negate the REQ signal while transitioning P_CRCA during data
group transfers. Specified to provide the increased receive REQ negation period, subject to loss on the inter-
connect.
2.5.63
Transmitter skew
The maximum difference in time allowed between the rising or falling edge of a “1010...” pattern on the DATA
BUS or DB(P1) signal and its clocking signal on the ACK or REQ signal as measured at their zero-crossing
points. The signals for the output waveforms shall be measured at the connector of the transmitting device.
2.5.64
Transmitter time asymmetry
The maximum time on DATA BUS, DB(P1), ACK, or REQ signal from any transition edge to the subsequent
transition edge during a “1010...” pattern, as measured at their zero-crossing points, minus the data transfer
period. The signals for the output waveforms shall be measured at the connector of the transmitting device.
2.6
Measurement points
The measurement points for low voltage differential (LVD) ACK, REQ, DATA, P_CRCA, and PARITY signals
are defined in ANSI standard SPI-5 section 9.3. All measurements are at the SCSI connector.
When paced transfers are enabled, the timing shall be measured relative to the zero crossing of the differential
signal. In paced transfers the timing budget and receiver masks account for the differences between the setup
and hold detection thresholds that occur for synchronous transfers.
2.6.1
SE Fast-5 and Fast-10 measurement points
SE SCSI devices with data transfer rates up to and including Fast-10 shall use the measurement points
defined in Section 9 of ANSI standard SPI-4, for the measurement of the timing values. The rise and fall times
for the SE REQ/ACK signals shall be nominally the same as for the SE Data, DB(P_CRCA), and DB(P1) sig-
nals.
2.6.2
SE Fast-20 measurement points
Parallel SCSI Interface Product Manual, Rev. A )
33
Download from Www.Somanuals.com. All Manuals Search And Download.
SE SCSI devices with data transfer rates up to and including Fast-20 shall use the measurement points
defined in Section 9 of ANSI standard SPI-4, for the measurement of the timing values. The rise and fall times
for the SE REQ/ACK signals shall be nominally the same as for the SE Data, DB(P_CRCA), and DB(P1) sig-
nals.
SE Fast-20 timing measurement points shall apply even if a slower transfer rate is negotiated.
SE SCSI devices are not capable of Fast-40 and Fast-80 data transfer rates. LVD circuits are required for
these faster transfer rates.
2.6.3
LVD measurement points
When transferring data using ST LVD phases, LVD SCSI devices shall use the measurement points defined in
Section 9 Figure 60 of ANSI standard SPI-5, for the measurement of timing values. When transferring data
using DT DATA phases, LVD SCSI devices shall use the measurement points defined in Section 9 Figure 61 of
SPI-5, for the measurement of timing values. When transferring data using DT DATA phases LVD SCSI
devices using paced transfers shall use the measurement points defined in Section 9 Figure 62 of SPI-5 for the
measurement of the timing values. The rise and fall times for the LVD REQ/ACK signals shall be nominally the
same as for the LVD Data, P_CRCA, and DP-1 signals.
2.7
Clocking methods for data transfers
This manual defines optional methods of latching data from the REQ and ACK signals depending on whether
ST DATA phases or DT DATA phases are being used for information transfers as shown in Figure 5. Data shall
only be latched on the asserting edge of the REQ or ACK signal except in DT DATA phases. When DT DATA
phases are used, data shall be latched on both the asserting edge and the negating edge of the REQ or ACK
signal.
Regardless of whether ST or DT transfers are enabled, the negotiated transfer period sets the maximum rate
at which the data is clocked at in megatransfers per second. As a result, the time from rising edge to rising
edge for REQ and ACK signals for the same transfer rate is twice as long for a DT transfer as it is for an ST
transfer. An example of a negotiated transfer period of 25 ns with ST transfers is shown in figure 6. An example
of a negotiated transfer period of 25 ns with DT transfers is shown in Figure 7. For ST and DT synchronous
transfers the clocking signal (i.e., REQ or ACK) occurs when the DATA BUS is in a steady state.
34
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
Figure 8 shows an example of transfers with a negotiated transfer period of 6.25 ns at the receiving SCSI
device’s connector. There is no difference as to when data is latched on paced transfers, however, the relation-
ship between the data and REQ or ACK is required to be adjusted in the SCSI devices receiver to match the
synchronous transfers DT Data shown in Figure 5. For paced transfers, the clocking signal (i.e., REQ or ACK)
may occur when the data bus is changing state.
REQ or ACK
ST Data
(synchronous or
asynchronous
transfers)
DT Data
(synchronous
transfers)
DT Data
(paced
transfers)
DT & ST
Clock
DT
Clock
DT & ST
Clock
DT
Clock
Figure 5.
ST latching data vs. DT latching data
<----- transfer period = 25 ns ----->
REQ or ACK
ST Data
ST
Clock
ST
Clock
Example: A negotiated transfer period of 25 ns equates to a
transfer rate of 40 megatransfers per second.
Figure 6.
ST synchronous transfer example
Parallel SCSI Interface Product Manual, Rev. A )
35
Download from Www.Somanuals.com. All Manuals Search And Download.
transfer period = 25 ns
25 ns
25 ns
25 ns
REQ or ACK
DT Data
DT
Clock
DT
Clock
DT
Clock
DT
Clock
Example: A negotiated transfer period of 25 ns equates to
a transfer rate of 40 megatransfers per second.
Figure 7.
DT synchronous transfer example
transfer period = 6.25 ns
6.25 ns
6.25 ns
6.25 ns
REQ or ACK
DT Data
DT
Clock
DT
Clock
DT
Clock
DT
Clock
Example: A negotiated transfer period of 6.25 ns equates to
a transfer rate of 160 megatransfers per second.
Figure 8.
Paced transfer example
2.8
Paced transfer on a SCSI bus
A SCSI bus that supports paced transfers has additional driver and receiver functions required over those used
with synchronous transfers or asynchronous transfers. These functions include driver precompensation,
receiver skew compensation, receiver clock shifting, and an optional receiver signal adjustment. In addition,
the drive precompensation may be switched out of the data path at the request of the receiving SCSI device.
36
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
The receiver skew compensation and clock shifting adjust the timing relationship between the clocking signal
(i.e., REQ or ACK) and the signals being clocked (e.g., the data bus signals). That adjustment causes the clock
signal to align with the middle of the signals being clocked when those signals enter the receiver. The receiver
is then able to the clock signal to latch valid data.
During paced transfers, the clock signal (i.e., REQ or ACK) transitions at the negotiated transfer period. Data is
qualified by the clock signal and the phase of the P1 signal.
Receiver skew compensation is not defined in this manual.
SCSI Device
SCSI Device
Signal
Adjustment
Driver
Precomp
Receiver
Cable
and/or
Backplane
Skew
Compensator
& Clock
Shift
Figure 9.
Example of a SCSI bus with paced transfers
2.9
Data transfer modes
There are three types of transfer modes:
• Asynchronous
• Synchronous
• Paced
This section provides a brief description of each of these types of transfer modes.
2.9.1 Asynchronous transfers
SCSI device ports default to 8-bit asynchronous transfers.
8-bit asynchronous transfers are used for all COMMAND, STATUS, and MESSAGE phases.
ST DATA phases may use 8-bit or 16-bit asynchronous transfers. Asynchronous transfers are not permitted in
DT DATA phases.
2.9.2
Synchronous transfers
ST DATA phases shall use synchronous transfers when a synchronous transfer agreement is in effect. ST
DATA phases may use 8-bit or 16-bit synchronous transfers.
DT DATA phases shall use synchronous transfers when a synchronous transfer agreement is in effect. DT
DATA phases shall only use wide transfers.
2.9.3
Paced transfers
Paced transfers shall only be used in DT DATA phases when a paced transfer agreement is in effect. DT
phases shall only use wide transfers.
Parallel SCSI Interface Product Manual, Rev. A )
37
Download from Www.Somanuals.com. All Manuals Search And Download.
2.10
ST DATA phase parallel transfers
The format of data transmitted during ST DATA phases consists of data and protection. Parity generation and
checking give some error detection protection in the ST phase data.
2.11
DT DATA phase parallel transfers
During DT DATA phases, communicating SCSI devices format information according to one of two protocol
options:
• Data group transfers. Data groups encapsulate all data and associated error protection.
• Information unit transfers. Information units encapsulate all nexus, task management, task attribute, com-
mand, data, and error protection. Usually these are called “SPI information units.”
Sections 2.11.1 and 2.11.2 contain a brief description of how packetized information transfer and CRC protec-
tion fit into the SCSI I/O system operation.
2.11.1
Data group transfers
Data group transfers are permitted when a synchronous transfer agreement is in effect. Data group transfers
are not permitted when an asynchronous transfer agreement or a paced transfer agreement is in effect
When using data group transfers, each DT DATA IN phase and DT DATA OUT phase contains one or more
data groups. A data group consists of a non-zero length data field containing an even number of bytes, fol-
lowed by a pad field (when pad bytes are needed), and then followed by a pCRC field. The number of bytes
transferred within a data group shall always be a multiple of four.
If the number of bytes in the data field is not a multiple of four, the transmitting SCSI device shall place two pad
bytes into the pad field. If the number of bytes in the data field is a multiple of four, the transmitting SCSI device
shall omit the pad field. Regardless of the number of bytes in the data field, the pCRC field shall be the last four
bytes of the data group.
The value of the pad bytes within the pad field is vendor specific.
During DT DATA IN phase, if the number of bytes in a data field is not a multiple of two bytes, then after send-
ing the pad and pCRC fields, the target shall change to MESSAGE IN phase and send an IGNORE WIDE
During DT DATA OUT phase, if a SCSI target port requests a pCRC field prior to the last data field of a task,
the initiator shall transmit an even number of bytes in that data field.
The pCRC shall be used to protect all data group transfers. The SCSI device transmitting data sends the nec-
essary pad field(s) and a pCRC field at a point determined by the target.
2.11.2
Information unit transfers
Information unit transfers are permitted when a synchronous transfer agreement is in effect. Information unit
transfers are mandatory when a paced transfer agreement is in effect. Information unit transfers are not permit-
ted when an asynchronous transfer agreement is in effect.
During information unit transfers, each DT DATA IN phase and DT DATA OUT phases contains one or more
SPI information units. The number of bytes transferred within a SPI information unit shall always be a multiple
of four.
If the number of bytes in the SPI information unit is not a multiple of four, the transmitting SCSI device shall
transmit one, two, or three pad bytes as is necessary to make the transfer a multiple of four bytes before trans-
mitting an iuCRC. If the number of bytes in the SPI information unit is a multiple of four, the transmitting SCSI
device shall not transmit any pad bytes. Regardless of the number of bytes in the SPI information unit, the last
four bytes of the SPI information unit shall be an iuCRC.
The value of the pad bytes is vendor-specific.
38
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
The iuCRC shall be used to protect all SPI information units. The SCSI device that originates the SPI informa-
tion unit sends the necessary pad bytes and iuCRC fields.
An iuCRC interval may also be specified. The iuCRC interval specifies the number of bytes transferred before
pad bytes (if any) and the iuCRC is transferred within SPI data information units and SPI data stream informa-
tion units. A SPI data information unit or a SPI data stream information unit may contain zero or more iuCRC
intervals depending on the values specified in the SPI L-Q information unit. At a minimum there shall be at
least one iuCRC at the end of each SPI data information unit and SPI data stream information unit regardless
of the size of the iuCRC interval. If specified, an iuCRC interval shall begin on the first transfer of each data
information unit or data stream information unit.
The iuCRC interval is required to be a multiple of two, however, if it is not a multiple of four, then two pad bytes
shall be transmitted before the iuCRC is transmitted.
SPI data stream information units may be used to transfer data to or from a SCSI device. Support of data
streaming during DT DATA OUT phases, called write streaming, is mandatory. Support of data streaming dur-
ing DT DATA IN phases, called read streaming, is optional. The use of read streaming is part of the negotiated
transfer agreement between two SCSI devices (i.e., the RD_STRM bit set to one). A SCSI target port is not
required to use read streaming even if streaming support is enabled.
A SCSI target port, while streaming data, may give an indication that the stream of SPI data stream information
nits are about to end while still sending the current SPI data stream information unit. This early warning is
called flow control. Support of flow control during DT DATA OUT phases, called write flow control, is optional.
Support of flow control during DT DATA IN phases, called read flow control, is mandatory if read streaming is
enabled. The use of write flow control is part of the negotiated transfer agreement between two SCSI devices
(i.e., the WR_FLOW bit set to one).
2.12
Negotiation
4.3.18) messages are used to alter the transfer agreement between two ports. The transfer agreement defines
the protocol used during data phases (e.g., transfer period, REQ/ACK offset, transfer width) and agreement on
features not affecting data phases (e.g., QAS). All other information transfer phases (i.e., COMMAND, MES-
SAGE, and STATUS) use eight-bit asynchronous data transfers.
PPR, SDTR, and WDTR messages are called negotiation messages. When a SCSI initiator port sends one of
them, the message names are PPR OUT, SDTR OUT, and WDTR OUT. When a SCSI target port sends one of
them, the message names are PPR IN, SDTR IN, and WDTR IN. A negotiation sequence consists of at least
one matching set of negotiation messages (e.g., PPR OUT and PPR IN).
A transfer agreement is maintained by each port for each other port on the SCSI bus. Each port may be used
as either a SCSI target port or a SCSI initiator port. The same transfer agreement applies whether the port is
being used as a SCSI target port or as a SCSI initiator port.
2.12.1
Negotiation algorithm
A SCSI initiator port and SCSI target port exchange negotiation messages to perform negotiation. The originat-
ing port is the one that sends the first negotiation message and the responding port is the one that replies.
Ports shall not set message fields to values they do not support. The originating port should set the fields in the
originating negotiation message to the maximum values (e.g., fastest transfer period, largest REQ/ACK offset)
it supports. If the responding port is able to support the requested values, it shall return the same values in the
responding negotiation message. If the responding port requires different values (i.e., a subset of the originat-
ing port’s request), it shall return those values in the responding negotiation message (e.g., if the originating
port asks for a REQ/ACK offset of 32 and the responding port only supports a REQ/ACK offset of 16, then the
responding port replies with an offset of 16).
Parallel SCSI Interface Product Manual, Rev. A )
39
Download from Www.Somanuals.com. All Manuals Search And Download.
If the responding negotiation message contains values the originating port does not support, the originating
port shall respond with a MESSAGE REJECT message.
2.12.2
When to negotiate
Each port shall maintain a negotiation required flag for each other port. A port shall set its negotiation required
flags to true for all other ports after a reset event. A port shall set its negotiation required flag to true for a given
port after an error occurs while transmitting a responding negotiation message to that port.
A SCSI initiator port shall set its negotiation required flag to true for a SCSI target port after an unexpected
COMMAND phase occurs when selecting without using attention condition (i.e., when selecting a SCSI target
port with information units enabled).
A logical unit reset has no effect on negotiation required flags or on transfer agreements.
After a reset event a port shall set its transfer agreements for all other ports to the default transfer agreement
A SCSI initiator port shall originate negotiation before sending a command to a SCSI target port whenever its
negotiation required flag is true for that SCSI target port. A SCSI target port shall originate negotiation before
accepting a command from a SCSI initiator port whenever its negotiation required flag is true for that SCSI ini-
tiator port. After successful negotiation or reaching the default transfer agreement, the negotiation required flag
shall be set to false.
A port may originate negotiation even if its negotiation required flag is false (e.g., to change the settings, as
part of integrity checking procedures, or, for a SCSI initiator port, after a SCSI target port has originated negoti-
ation). Negotiation should not be originated after every selection and reselection as this may impact perfor-
mance.
Note. SCSI target ports may have had their support for originating negotiation after power on disabled to
support illegal SCSI initiator device software. If a SCSI initiator port sends a command to a SCSI target
device that has been powered on (e.g., after a hot plug) that results in a unit attention condition, the
SCSI initiator port determines that negotiation is required and originates negotiation before the next
command. However, if the command is INQUIRY, REPORT LUNS, or REQUEST SENSE, a unit atten-
tion condition is not created. An invalid data phase may occur if the SCSI target port does not originate
negotiation. If the SCSI initiator port always originates negotiation before sending those commands,
the data phase runs correctly. When information units are disabled, a SCSI initiator port may originate
negotiation with its currently negotiated settings before each INQUIRY, REPORT LUNS, or REQUEST
SENSE command to avoid this problem. When information units are enabled, the selection without
attention results in an unexpected COMMAND phase that notifies the SCSI initiator port that negotia-
tion before each INQUIRY, REPORT LUNS, or REQUEST SENSE command is not needed.
2.12.3
Negotiable fields
Table 11 lists the fields that may be negotiated and the effects of successful negotiation on those fields by each
of the different negotiation messages. Ports shall implement a given message if they implement fields that are
negotiable with that message.
Table 11: Negotiable fields and effects of successful negotiation
Negotiation message pair
Field name
PPR
WDTR
No requirement
SDTR
Negotiated
Negotiated
Transfer Period Factor
(valid values: 08h-FFh)
(valid values: 0Ah-FFh)
Negotiated
Sets to 00h
Negotiated
REQ/ACK Offset
Negotiated
(valid values: 00h-01h)
Negotiated
(valid values: 00h-01h)
Unchanged
Transfer Width Exponent
40
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 11: Negotiable fields and effects of successful negotiation
Negotiation message pair
Field name
PPR
WDTR
SDTR
Negotiated
Negotiated
Negotiated
Negotiated
Negotiated
Negotiated
Negotiated
Negotiated
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
Sets to 00h
PCOMP_EN
RTI
RD_STRM
WR_FLOW
HOLD_MCS
QAS_REQ
DT_REQ
IU_REQ
Protocol
options
When negotiating, the responding port shall respond with values that are a subset of the values in the originat-
ing message as indicated in Table 12 (e.g., if the originating message requests a REQ/ACK offset of 10h, the
responding message has a REQ/ACK offset field set to 10h or lower).
Table 12: Responding message requirements
Response shall be
Field Name
Message
numerically
PPR, SDTR
Greater than or equal
Transfer Period Factor
REQ/ACK Offset
PPR, SDTR
PPR, WDTR
Less than or equal
00h or 01h
Transfer Width Expo-
nent
PPR
PPR
PPR
PPR
PPR
PPR
PPR
PPR
Less than or equal
Less than or equal
Less than or equal
Less than or equal
Less than or equal
Less than or equal
Less than or equal
Less than or equal
PCOMP_EN
RTI
RD_STRM
WR_FLOW
Protocol
Options
HOLD_MCS
QAS_REQ
DT_REQ
IU_REQ
Parallel SCSI Interface Product Manual, Rev. A )
41
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.4
Transfer agreements
The transfer agreements that are in effect for various combinations of field values are described in Table 13.
Table 13: Transfer agreements
Transfer
period
factor
Transfer
width
exponent
All other
protocol
options
Transfer
agreement
REQ/ACK
offset
DT_REQ
IU_REQ
QAS_REQ
00h
Any
Any
00h
Any
Any
Any
01h
01h
01h
00h
01h
01h
Any
01h
0
0
0
0
Default
00h
0
Any
0
0
Any
0
Any
Any
Any
Any
Any
Any
Any
Any
Any
Any
Any
0
Asynchronous
Synchronous
ST synchronous
DT synchronous
Paced
GE 01h
GE 01h
GE 01h
GE 01h
Any
GE 09h
GE 0Ah
GE 09h
08h
Any
Any
Any
Any
Any
Any
Any
Any
Any
Any
1
Any
1
1
Any
Any
Any
1
Any
Any
0
Wide
Any
Any
Narrow
GE 01h
GE 01h
GE 01h
GE 01h
Any
Data group
Information unit
ST data
Any
1
1
GE 0Ah
Any
0
Any
Any
1
DT data
42
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.5
Transfer period factor
The Transfer Period Factor field selects the transfer period and determines which transfer rate’s timing values
in Tables 5, 6, 7, and 8 shall be honored, provided that REQ/ACK OFFSET is greater than 00h. The field val-
Table 14: Transfer period factor
Value
Description
Message
Transfer rate
00h - 06h
07h
Reserved
N/A
N/A
Transfer period equals 3.125 ns
Transfer period equals 6.25 ns
Transfer period equals 12.5 ns
Transfer period equals 25 ns
Transfer period equals 30.3 ns
Transfer period equals 50 ns
PPR
Fast-320
Fast-160
Fast-80
Fast-40
Fast-40
Fast-20
Fast-20
Fast-10
Fast-5
08h
PPR
09h
PPR
0Ah
PPR, SDTR
PPR, SDTR
PPR, SDTR
PPR, SDTR
PPR, SDTR
PPR, SDTR
0Bh
0Ch
0Dh - 18h
19h - 31h
32h - FFh
Transfer period equals the TRANSFER PERIOD FACTOR x 4
Transfer period equals the TRANSFER PERIOD FACTOR x 4
Transfer period equals the TRANSFER PERIOD FACTOR x 4
Table 15 shows which transfer period factors may be used with different types of transfer agreements, provided
REQ/ACK OFFSET is greater than 00h.
Table 15: Transfer period factor relationships
Transfer agreement
Value
Information
Synchronous
Paced
Data group
ST data
DT data
unit
00h - 06h
07h - 08h
09h
Reserved
NS
M
M
M
M
M
M
M
M
NS
O
O
O
O
O
O
O
M
O
O
O
O
O
O
O
NS
NS
O
M
M
O
O
O
O
O
O
NS
NS
NS
NS
NS
NS
NS
0Ah
0Bh
O
0Ch
O
0Dh - 18h
19h - 31h
32h - FFh
O
O
O
Table abbreviations are defined as follows:
M = Mandatory: Support for the indicated transfer agreement shall be implemented if the indicated transfer
period factor is implemented.
O = Optional: Support for the indicated transfer agreement may be implemented if the indicated transfer
period factor is implemented.
NS = Not Supported: The indicated transfer agreement shall not be allowed if the indicated transfer factor is
selected.
Parallel SCSI Interface Product Manual, Rev. A )
43
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.6
REQ/ACK offset
The REQ/ACK OFFSET field determines the maximum number of REQs allowed to be outstanding before a
corresponding ACK is received at the SCSI target port during synchronous or paced transfers. For ST synchro-
nous transfers the REQ/ACK offset is the number of REQ assertions that may be sent by the SCSI target port
in advance of the number of ACK assertions received from the SCSI initiator port.
For DT synchronous transfers the REQ/ACK offset is the number of REQ transitions that may be sent by the
SCSI target port in advance of the number of ACK transitions received from the SCSI initiator port. For paced
transfers in DT DATA IN phase the REQ/ACK offset is the number of data valid state REQ assertions that may
be sent by the SCSI target port in advance of ACK assertions received from the SCSI initiator port.
For paced transfers in DT DATA OUT phase the REQ/ACK offset is the number of REQ assertions that may be
sent by the SCSI target port in advance of the number of data valid state ACK assertions received from the
SCSI initiator port.
The REQ/ACK OFFSET value is chosen to prevent overflow conditions in the port’s receive buffer and offset
counter. The REQ/ACK OFFSET values and which timing values shall be selected are defined in Table 7.
Table 16.
REQ/ACK Offset
Value
Description
Timing values
a
00h
Asynchronous. (see Table 5)
Specifies asynchronous transfer agreement.
01h - FEh Synchronous or paced transfers with specified offset. Determined by transfer period factor
FFh
Synchronous or paced transfers with unlimited offset. Determined by transfer period factor
a
Transfer period factor and protocol options other than QAS_REQ shall be ignored.
2.12.7 Transfer width exponent
The TRANSFER WIDTH EXPONENT field defines the transfer width to be used during DATA IN and DATA
If any of the protocol options bits other than QAS_REQ are set to one, then only wide transfer agreements are
valid. If all the protocol options bits other than QAS_REQ are set to zero, wide transfer agreements and narrow
transfer agreements are valid.
Table 17: Transfer width exponent
Value
00h
Description
Specifies 8-bit data bus (i.e., narrow transfer agreement)
Specifies 16-bit data bus (i.e., wide transfer agreement)
Obsolete
01h
02h
03h - FFh
Reserved
44
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.8
Protocol options
The protocol options fields affect the protocol used between the ports. The SCSI target port uses the protocol
options bits to indicate to the SCSI initiator port if it agrees to enable the requested protocol options. Except for
the PCOMP_EN bit, the SCSI target port shall not enable any protocol options that were not enabled in the
negotiation message received from the SCSI initiator port.
Table 18: Protocol options bits
Name
PCOMP_EN
RTI
Description
Precompensation enable.
Retain training information.
RD_STRM
WR_FLOW
HOLD_MCS
QAS_REQ
DT_REQ
IU_REQ
Read streaming and read flow control enable.
Write flow control enable.
Hold margin control settings.
QAS enable request.
DT clocking enable request.
Information units enable request.
2.12.8.1
IU_REQ
The SCSI initiator port shall set IU_REQ to one in the PPR OUT message to request that information unit
transfers be enabled. In response, the SCSI target port shall set its IU_REQ to one if it agrees to use informa-
tion unit transfers or zero if it does not.
The SCSI initiator port shall set IU_REQ to zero in the PPR OUT message to request that information unit
transfers be disabled. In response, the SCSI target port shall set IU_REQ to zero in the PPR IN message.
If IU_REQ is one, an information unit transfer agreement is in effect. If IU_REQ is zero, an asynchronous, ST
synchronous, or data group transfer agreement is in effect.
Each SCSI target port shall maintain a bus free required flag. Each time a negotiation is successful that results
in the IU_REQ bit being changed from the previous agreement (i.e., zero to one or one to zero) the SCSI target
port shall set its bus free required flag to true. Any intermediate changes (e.g., from multiple successful PPR
negotiations) shall be treated as changing IU_REQ even if the final value equals the initial value.
At the conclusion of the message phases, if the bus free required flag is set to true, the target port shall:
1) abort all tasks for the SCSI initiator port;
2) set the bus free required flag to false; and
3) go to a BUS FREE phase.
At the conclusion of the message phases, if the IU_REQ bit was changed as the result of a negotiation, the
SCSI initiator device shall abort all tasks for the logical unit.
If the IU_REQ bit was set to one during a previous PPR negotiation and not changed by a subsequent PPR
negotiation sequence, the target port shall not request that the task manager abort any tasks for that SCSI ini-
tiator port and shall go to the BUS FREE phase after responding with a PPR IN message.
Parallel SCSI Interface Product Manual, Rev. A )
45
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 19: Bus phases resulting from IU_REQ changes
Modified
Initial
IU_REQ
BUS phase following
MESSAGE phases
IU_REQ
value
Causes
COMMAND, DATA, STATUS,
or BUS FREE phase
a. PPR negotiation keeping IU_REQ set to zero;
b. WDTR negotiation; or
c. SDTR negotiation
0
0
1
0
1
BUS FREE phase
BUS FREE phase
a. PPR negotiation setting IU_REQ to one
0
a. PPR negotiation setting IU_REQ to zero;
b. WDTR negotiation; or
c. SDTR negotiation
1
1
BUS FREE phase
a. PPR negotiation keeping IU_REQ set to one
2.12.8.2
DT_REQ
The SCSI initiator port shall set DT_REQ to one to request that DT DATA phases be enabled. In response, the
SCSI target port shall set DT_REQ to one if it agrees to use DT DATA phases or zero if it does not.
The SCSI initiator port shall set DT_REQ to zero to request that information unit transfers be disabled. In
response, the SCSI target port shall set DT_REQ to zero in the PPR IN message.
If DT_REQ is one, a DT data transfer agreement is in effect. If DT_REQ is zero, an asynchronous or ST data
transfer agreement is in effect.
2.12.8.3
QAS_REQ
The SCSI initiator port shall set QAS_REQ to one to request that QAS be enabled. In response, the SCSI tar-
get port shall set QAS_REQ to one if it supports QAS or zero if it does not.
The SCSI initiator port shall set QAS_REQ to zero to request that QAS be disabled. In response, the SCSI tar-
get port shall set QAS_REQ to zero in the PPR IN message.
When an initiator port and a target port have negotiated with each other to enable QAS, either of the two ports
may participate in QAS arbitrations when attempting to connect to the other port. When an initiator port and tar-
get port have negotiated with each other to disable QAS, neither port shall participate in QAS arbitrations when
attempting to connect to the other port.
When QAS and information unit transfers are both enabled for a connected SCSI target port, that SCSI target
port may issue a QAS REQUEST message to release the bus after a DT DATA phase. When QAS is enabled
for and information unit transfers are disabled for a connected SCSI target port, that SCSI target port shall not
issue QAS REQUEST messages.
2.12.8.4
HOLD_MCS
The SCSI initiator port shall set HOLD_MCS to one to indicate that the SCSI target port should hold any mar-
gin control settings set with the margin control subpage of the port control mode page. In response, the SCSI
target port shall set HOLD_MCS to one if it is capable of retaining the settings and zero if it is not.
The SCSI initiator port shall set HOLD_MCS to zero to indicate that the SCSI target port shall reset to their
default values any margin control settings set with the margin control subpage of the port control mode page.
In response, the SCSI target port shall set HOLD_MCS to zero.
46
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.8.5 WR_FLOW
The SCSI initiator port shall set WR_FLOW to one to indicate that the SCSI target port should enable write flow
control during write streaming. In response, the SCSI target port shall set WR_FLOW to one if it is capable of
write flow control and zero if it is not.
The SCSI initiator port shall set WR_FLOW to zero to indicate that the SCSI target port shall disable write flow
control during write streaming. In response, the SCSI target port shall set WR_FLOW to zero. Write streaming
and write flow control only occurs during information unit transfers.
2.12.8.6
RD_STRM
The SCSI initiator port shall set RD_STRM to one to indicate that the SCSI target port should enable read
streaming and read flow control. In response, the SCSI target port shall set RD_STRM to one if it is capable of
read streaming and read flow control and zero if it is not.
The SCSI initiator port shall set RD_STRM to zero to indicate that the SCSI target port shall disable read
streaming and read flow control. In response, the SCSI target port shall set RD_STRM to zero. Read stream-
ing and read flow control only occur during information unit transfers.
2.12.8.7
RTI (Retain Training Information)
The SCSI initiator port shall set RTI to one to indicate it is capable of saving paced data transfer training infor-
mation and to indicate that the SCSI target port does not need to retrain on each connection. In response, the
SCSI target port shall set RTI to one if it is capable of saving paced data transfer training information and zero
if it is not.
The SCSI initiator port shall set RTI to zero to indicate it is not capable of saving paced data transfer training
information and to indicate the SCSI target port shall retrain on each connection. In response, the SCSI target
port shall set RTI to zero.
Table 20 defines valid combinations of RTI and other fields. For negotiated transfer periods slower than Fast-
160 the RTI bit shall be set to zero.
2.12.8.8
PCOMP_EN
The SCSI initiator port shall set PCOMP_EN to one to indicate that the SCSI target port shall enable precom-
pensation on all signals transmitted during DT DATA phases. The SCSI initiator port shall set PCOMP_EN to
zero to indicate that the SCSI target port shall disable precompensation.
The SCSI target port shall set PCOMP_EN to one to indicate that the SCSI initiator port shall enable precom-
pensation on all signals transmitted during DT DATA phases. The SCSI target port shall set PCOMP_EN to
zero to indicate that the SCSI initiator port shall disable precompensation.
Table 20 defines valid combinations of PCOMP_EN and other fields. Ports that support Fast-160 shall support
enabling and disabling precompensation of their drivers. For negotiated transfer periods slower than Fast-160
the PCOMP_EN bit shall be set to zero.
Note. Unlike other fields and bits in the PPR message the PCOMP_EN bit is not a negotiated value; instead,
it instructs the receiving SCSI device as to whether or not precompensation is to be disabled or
enabled. Because of this, precompensation may be enabled on one of the SCSI devices and disabled
on the other SCSI device at the completion of a successful PPR negotiation.
Parallel SCSI Interface Product Manual, Rev. A )
47
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.9
Negotiable field combinations
Not all combinations of the negotiable fields are valid. Only the combinations defined in Table 20 shall be
allowed. All other combinations of the listed fields are reserved.
Table 20: Valid negotiable field combinations
Protocol options
Transfer
period
factor
REQ/
ACK
offset exponent
Transfer
width
Description
Ignore
00h
00h
00h or 01h
00h or 01h
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
Use ST DATA IN and ST DATA OUT phases
to transfer data with asynchronous transfers.
Ignore
Use ST DATA IN and ST DATA OUT phases
to transfer data with asynchronous transfers,
and participate in QAS arbitrations.
0Ah - FFh 01h - 00h or 01h
FFh
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
Use ST DATA IN and ST DATA OUT phases
to transfer data with synchronous transfers.
09h - FFh 01h -
FFh
01h
Use DT DATA IN and DT DATA OUT phases
with data group transfers.
09h - FFh 01h -
FFh
01h
Use DT DATA IN and DT DATA OUT phases
with data group transfers, and participate in
QAS arbitrations.
0Ah - FFh 01h - 00h or 01h
FFh
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
Use ST DATA IN and ST DATA OUT phases
to transfer data with synchronous transfers,
and participate in QAS arbitrations
09h - FFh 01h -
FFh
01h
01h
01h
01h
0
0
Use DT DATA IN and DT DATA OUT phases
with synchronous transfers and information
unit transfers
or or
1
1
07h
08h
01h-
FFh
0
0
Use DT DATA IN and DT DATA OUT phases
with paced transfers and information unit
transfers
or or or or
1
1
1
1
01h -
FFh
0
0
0
0
Use DT DATA IN and DT DATA OUT phases
with synchronous transfers and information
unit transfers.
or or or or or
1
1
1
1
1
09h - FFh 01h -
FFh
0
0
0
0
0
Use DT DATA IN and DT DATA OUT phases
with paced transfers and information unit
transfers, participate in QAS arbitrations, and
issue QAS_REQUEST messages to initiate
QAS arbitrations.
or or
1
1
07h
08h
01h-
FFh
01h
01h
0
0
0
0
0
0
1
1
1
1
1
1
Use DT DATA IN and DT DATA OUT phases
with paced transfers and information unit
transfers, participate in QAS arbitrations, and
issue QAS_REQUEST messages to initiate
QAS arbitrations
or or or or
1
1
1
1
01h -
FFh
0
0
0
0
Use DT DATA IN and DT DATA OUT phases
with information unit transfers, participate in
QAS arbitrations, and issue QAS_REQUEST
messages to initiate QAS arbitrations.
or or or or or
1
1
1
1
1
48
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
2.12.10
Message restrictions
PPR may be originated by SCSI initiator ports but shall not be originated by SCSI target ports. If bus expanders
are present, SCSI initiator ports should only use PPR when requesting values not attainable via WDTR and
SDTR (e.g., setting any protocol option bits to one). If a SCSI target port responds to PPR only with values that
are attainable via WDTR and SDTR (i.e., all protocol option bits set to zero), the SCSI initiator port should
repeat negotiation with a WDTR and SDTR negotiation sequence. This ensures that bus expanders that do not
support PPR are still able to handle data phases correctly.
WDTR and SDTR may be originated by either SCSI target ports or SCSI initiator ports. Since WDTR resets all
the values that SDTR sets, it shall be sent first if both are needed. SCSI target ports capable of wide transfer
agreements shall originate negotiation with WDTR followed with SDTR.
Note. If IU_REQ was set to one and a successful SCSI target port originated WDTR negotiation occurs, a
BUS FREE phase generated because the SCSI target port detected that IU_REQ was changed is
indistinguishable from a BUS FREE phase generated because the target port was detecting parity
errors on the WDTR OUT. Following the WDTR negotiation with an SDTR negotiation before the BUS
FREE occurs ensures that the SCSI initiator port and SCSI target port both know that IU_REQ has
changed.
2.12.11
Negotiation message sequences
A SCSI initiator port originated negotiation sequence contains up to four steps:
1. SCSI initiator port’s originating message;
2. SCSI target port response;
3. SCSI initiator port response; and
4. SCSI target port second response.
A SCSI target port originated negotiation sequence contains up to four steps:
1. SCSI target port’s originating message;
2. SCSI initiator port response;
3. SCSI target port response; and
4. SCSI initiator port second response.
If the negotiation fails after a vendor-specific number of retries, the SCSI port originating the negotiation
sequence may discontinue communication with the other SCSI port.
For illustrations showing the various negotiation responses, refer to the ANSI SPI-5 specification Section
4.12.7.
Parallel SCSI Interface Product Manual, Rev. A )
49
Download from Www.Somanuals.com. All Manuals Search And Download.
50
Parallel SCSI Interface Product Manual, Rev. A )
Download from Www.Somanuals.com. All Manuals Search And Download.
3.0
Logical characteristics
The operations of the SCSI bus as described in this section are supported by the drive as specified in each
individual drive’s Product Manual. The drive always functions as the target unless otherwise stated.
3.1
SCSI bus phases overview
The drive responds to the following phases:
BUS FREE phase
ARBITRATION phase
SELECTION phase
RESELECTION phase
COMMAND phase
Data (IN and OUT)
These phases are collectively termed the Information transfer phases
STATUS (IN only)
MESSAGE (IN and
OUT)
The COMMAND, DATA, STATUS, and MESSAGE phases are collectively called the information transfer
phases.
The SCSI bus can never be in more than one phase at a time. Signals that are not mentioned in a particular
context shall not be asserted.
3.1.1
BUS FREE phase
The BUS FREE phase indicates that there is no current task and that the SCSI bus is available for a physical
connection or physical reconnection. SCSI devices shall detect the BUS FREE phase after the SEL and BSY
signals are both false for at least one bus settle delay.
SCSI devices shall release all SCSI bus signals within one bus clear delay after BSY and SEL are continuously
negated (false) for one bus settle delay. If a SCSI device requires more than one bus settle delay to detect the
BUS FREE phase, it shall release all SCSI bus signals within one bus clear delay minus the excess time to
detect the BUS FREE phase. The total time to clear the SCSI bus shall not exceed one bus settle delay plus
one bus clear delay.
During normal operation a SCSI target port enters the BUS FREE phase when it releases the BSY signal.
3.1.1.1
Unexpected and expected bus free phases
In some cases a SCSI target port (connected to a SCSI initiator port) unexpectedly reverts to the BUS FREE
phase to indicate an error condition that it has no other way to handle. This is called an unexpected disconnect.
SCSI target ports shall create a BUS FREE phases after any of the following:
Parallel SCSI Interface Product Manual, Rev. A
51
Download from Www.Somanuals.com. All Manuals Search And Download.
a. after any bus reset event.
b. after a transceiver mode change reset event.
c. after an Abort Task management function is successfully received by a SCSI target port;
d. after an Abort Task Set management function is successfully received by a SCSI target port;
e. after a Clear Task Set management function is successfully received by a SCSI target port;
f. after a Logical Unit Reset management function is successfully received by a SCSI target port;
g. after a TARGERT RESET management function is successfully received by a SCSI target port;
h. after a Clear ACA Task management function is successfully received by a SCSI target port;
i. after a DISCONNECT message is successfully transmitted from a CSI target port (see Section 4.3.2);
j. after a TASK COMPLETE message is successfully transmitted from a SCSI target port (see Section
4.3.17);
k. after a DISCONNECT message is successfully received by a SCSI target port when information unit trans-
fers are enabled;
l. after the release of the SEL signal after a SELECTION or RESELECTION phase timeout;
m. after a PPR (Parallel Protocol Request) negotiation in response to a selection using attention condition
n. after any successful negotiation that causes information unit transfers to be enabled or disabled.
An unexpected bus free occurs when a SCSI initiator port detects a BUS FREE phase that it does not expect
see 3.1.1.2.
The target uses an unexpected bus free to inform the initiator of a protocol error. The target may switch to a
BUS FREE phase at any time, except during an ARBITRATION phase, independent of any attention condition.
The target shall terminate the task that was the current task before the BUS FREE phase by clearing all data
and status for that task. The target may optionally prepare sense data that may be retrieved by a REQUEST
SENSE command. However, an unexpected bus free shall not create an exception condition.
The initiator shall terminate the task that was the current task before the BUS FREE phase occurred and shall
manage this condition as an exception condition.
3.1.1.2
Expected bus free phases
Initiators may expect a bus free to occur after one of the following:
a. after the last SPI command information unit is successfully received by a SCSI target port;
b. after a SPI data information unit is successful received by or transmitted from a SCSI target port;
c. after a SPI status information unit is successfully transmitted from a SCSI target port;
d. after a SPI L_Q information unit, if the SPI L_Q information unit Data Length field is zero; or
e. during a QAS phase.
3.1.2
Arbitration and QAS overview
Arbitration allows one SCSI device to gain control of the SCSI bus so that it can initiate or resume a task.
There are two methods that a SCSI device may use to arbitrate for the SCSI bus: normal arbitration and QAS
(Quick Arbitration and Selection). Normal arbitration is mandatory and requires the detection of a BUS FREE
phase on the SCSI bus before starting. QAS is optional and, when enabled, requires the detection of a QAS
REQUEST message before starting.
52
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
SCSI devices with arbitration fairness enabled shall maintain a fairness register that records the SCSI IDs of
devices that need a chance to arbitrate (see Section 3.4). Fairness in normal arbitration is enabled in targets by
the Disconnect-Reconnect mode page (see Seagate SCSI Command Reference Manual, Part number
100293068). Fairness is always enabled when QAS is enabled.
3.1.2.1
Normal ARBITRATION phase
The procedure for a SCSI device to obtain control of the SCSI bus is as follows:
1. The SCSI device shall first wait for the BUS FREE phase to occur. The BUS FREE phase is detected
whenever both the BSY and SEL signals are simultaneously and continuously false for a minimum of
one bus settle delay.
Note. This bus settle delay is necessary because a transmission line phenomenon known as a wired-OR
glitch may cause the BSY signal to briefly appear false, even though it is being driven true.
2. The SCSI device shall wait a minimum of one bus free delay after detection of the BUS FREE phase
(i.e., after the BSY and SEL signals are both false for one bus settle delay) before driving any signal.
3. Following the bus free delay in step 2, the SCSI device may arbitrate for the SCSI bus by asserting
both the BSY signal and its own SCSI ID. However the SCSI device shall not arbitrate (i.e., assert the
BSY signal and its SCSI ID) during this NORMAL ARBITRATION phase if more than one bus set delay
has passed since the BUS FREE phase was last observed. If arbitration fairness is enabled, the SCSI
device shall not arbitrate until its fairness register is cleared (see ANSI specification SPI-5, Annex B).
Note. There is no maximum delay before asserting the BSY signal and the SCSI ID following the bus free
delay in step 2 as long as the bus remains in the BUS FREE phase. However, SCSI devices that delay
longer than one bus settle delay plus one bus set delay from the time when the BSY and SEL signals
first become false may fail to participate in arbitration when competing with faster SCSI devices, and
may not be ensured fair arbitration by the arbitration fairness algorithm.
4. After waiting at least one arbitration delay, measured from its assertion of BSY, the SCSI device shall
examine the Data Bus.
(a) If no higher priority SCSI ID bit is true on the Data Bus [DB(7) is the highest], the SCSI device has
won the arbitration and the SCSI device shall assert the SEL signal.
(b) If a higher priority SCSI ID bit is true on the Data Bus, the SCSI device has lost the arbitration and
it shall release the BSY signal and the SCSI ID after the SEL signal becomes true (asserted), within
one bus clear delay after the SEL signal becomes true. A SCSI device that loses arbitration may return
Note. Step 4 above requires any device that begins normal ARBITRATION phase to complete the normal
ARBITRATION phase to the point of SEL being asserted if it begins the normal ARBITRATION phase
as stated in step 3. This precludes the possibility of the bus being hung.
5. After the bus free delay in step 2, SCSI devices with arbitration fairness enabled that are not arbitrating
shall wait one bus set delay and start sampling the Data Bus to determine the SCSI devices that
attempted arbitration, the SCSI device that won, and the SCSI devices that lost. This sampling shall
continue for an arbitration delay after the bus free delay in step 2. Each SCSI device shall update its
fairness register with all lower-priority device IDs that lost arbitration.
Note. For ease of implementation, this sampling may begin when BSY is true following Bus Free and end
when SEL is true.
6. The SCSI device that wins arbitration shall wait at least a bus clear delay plus a bus settle delay after
asserting SEL before changing any signals.
The SCSI ID bit is a single bit on the Data Bus that corresponds to the SCSI device’s unique SCSI address. All
other of the Data Bus bits shall be released by the SCSI device. During the normal ARBITRATION phase,
DB(P_CRCA) and DB(P1) (if present) may be released or asserted, but shall not be actively driven false.
Parallel SCSI Interface Product Manual, Rev. A
53
Download from Www.Somanuals.com. All Manuals Search And Download.
3.1.2.2
QAS protocol
Quick Arbitration and Selection (QAS) allows a SCSI target port with an information unit transfer agreement in
effect and QAS enabled (see Section 4.3.12) that is currently connected to a SCSI initiator port that has infor-
mation unit transfers enabled and QAS enabled to transfer control of the bus to another SCSI device that has
information unit transfers enabled and QAS enabled without an intervening BUS FREE phase. SCSI devices
that support QAS shall report that capability in the INQUIRY command.
Before a SCSI initiator may use QAS, that initiator shall negotiate, using the PPR message, the use of the QAS
phase with each SCSI target port that has indicated support of QAS. Any time a SCSI initiator port’s negotia-
tion required flag is true, that SCSI initiator port shall renegotiate to enable QAS (see Section 4.3.12).
SCSI devices that support QAS shall implement the fairness algorithm (see Annex B of SPI-5) during all QAS
arbitrations. SCSI devices shall negotiate the use of QAS with a particular SCSI device before using QAS to
select or reselect that SCSI device. Also, targets shall have negotiated the use of QAS with a particular initiator
before using QAS REQUEST message to do a physical disconnect from that initiator, and initiators shall have
negotiated the use of QAS with a particular target before accepting a QAS REQUEST message from that tar-
get. If a SCSI initiator port receives a QAS REQUEST message from a SCSI target port that has not negotiated
the use of QAS, then the initiator shall create an attention condition for the QAS REQUEST message, and
shall report Message Reject on the following MESSAGE OUT phase.
In an environment where some SCSI devices have QAS enabled and other SCSI devices do not, it is possible
for the SCSI devices that have QAS enabled to prevent SCSI devices that do not have QAS enabled from arbi-
trating for the bus. This occurs when SCSI devices that have QAS enabled never go to a BUS FREE phase.
A QAS initiator may interrupt a sequence of QAS cycles to force a normal arbitration with the following proce-
dure:
1. perform a QAS arbitration;
2. on winning QAS arbitration, continue driving the initiator’s ID on the Data Bus instead of asserting SEL
to enter selection phase;
3. wait until the target transitions to Bus Free (this occurs after two QAS arbitration delays);
4. after detecting BSY false, release the Data Bus; and
5. after one bus settle delay from when the target drove BSY false, the bus is in BUS FREE phase. The ini-
tiator may then arbitrate using normal arbitration and perform a selection if it wins.
3.1.2.3
QAS phase overview
For targets with both information unit transfers and QAS enabled to indicate it wants to release the bus, the fol-
lowing procedure is used:
1. The target shall change to a MESSAGE IN phase, issue a single QAS Request (55h) message, and
then wait for ACK to be true.
Note. The timing requirements are required to ensure that all the SCSI devices that have QAS enabled see
the message bytes.
2. After detection of the ACK signal being false and if the SCSI initiator port did not create an attention con-
dition, the SCSI target port shall release all SCSI signals except the BSY, MSG, C/D, I/O, and REQ sig-
nals. Then the SCSI target shall negate the MSG, C/D, and I/O signals within two system deskew
delays. The SCSI target port shall wait two system deskew delays after negating the C/D, I/O, and MSG
signals before releasing the REQ signal.
3. If the SCSI initiator port did not create an attention condition, the SCSI initiator port shall release all
SCSI signals except ACK and ATN within two system deskew delays after detecting MSG, C/D, and I/O
signals false. The ACK and ATN signals shall follow the timing specified in section 7 of the SPI-5 speci-
fication.
54
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4. If the SCSI initiator creates an attention condition, the SCSI target port shall go to a MESSAGE OUT
phase, receive all the message bytes, and cause an unexpected bus free by generating a BUS FREE
5. If the SCSI target port detects the SEL signal being true, the SCSI target port shall release the BSY,
MSG, C/D, and I/O signals within one QAS release delay.
6. After waiting at least one QAS arbitration delay from negating the SCSI MSG, C/D, and I/O signals in
step 2, if there are no SCSI ID bits true, the SCSI target port shall transition to the BUS FREE phase.
7. After waiting at least one QAS arbitration delay from negating the MSG, C/D, and I/O signals in step 2, if
there are any SCSI ID bits true, the SCSI target port shall wait at least a second QAS arbitration delay. If
the SEL signal is not true by the end of the second QAS arbitration delay, the SCSI target port shall tran-
sition to the BUS FREE phase.
Note. The release of MSG, C/D, and I/O may cause release glitches. Step 5 above ensures these glitches
occur at a time when no connection is established on the bus so that they do not interfere with proper
operation.
The procedure for a SCSI device with QAS enabled to obtain control of the SCSI bus via QAS is as follows:
1. The SCSI device shall first wait for MESSAGE IN phase to occur with a single QAS REQUEST mes-
sage. When the SCSI device detects the ACK signal being false for the QAS REQUEST message and
the attention condition is cleared, it shall begin the QAS phase.
2. The SCSI device shall wait a minimum of a two system deskew delays after detection of the MSG, C/D,
and I/O signals being false before driving any signal.
3. Following the delay in step 2, the SCSI device may arbitrate for the SCSI bus by asserting its own SCSI
ID within one QAS assertion delay from detection of the MSG, C/D, and I/O signals being false. If arbitra-
tion fairness is enabled, the SCSI device shall not arbitrate until its fairness register is cleared.
4. After waiting at least one QAS arbitration delay, measured from the detection of the MSG, C/D, and I/O
signals being negated, the SCSI device shall examine the Data Bus.
a. If no higher priority SCSI ID bit is true on the Data Bus and the fairness algorithm allowed the SCSI
device to participate, then the SCSI device has won the arbitration and it shall assert the SEL signal.
b. If a higher priority SCSI ID bit is true on the Data Bus (see Table 1 for the SCSI ID arbitration priorities) or
the fairness algorithm (see Section 3.4) prevented the SCSI device from participating in QAS arbitration,
then the SCSI device has lost the arbitration.
c. Any SCSI device other than the winner has lost the arbitration and shall release its SCSI ID bit after two
system deskew delays and within one QAS release delay after detection of the SEL signal being asserted.
A SCSI device that loses arbitration may return to step 1.
5. The SCSI device that wins arbitration shall wait at least a QAS arbitration delay after asserting the SEL
signal before changing any signals.
6. After the QAS arbitration delay in step 4, SCSI devices with arbitration fairness enabled that are not arbi-
trating shall start sampling the Data Bus to determine the SCSI devices that are attempting arbitration,
the SCSI device that won, and the SCSI devices that lost. This sampling shall continue for one bus settle
delay plus two system deskew delays. The SCSI devices shall update their fairness register with all
device IDs that lost arbitration.
The SCSI ID bit is a single bit on the Data Bus that corresponds to the SCSI device’s unique SCSI address. All
other Data Bus bits shall be released by the SCSI device. The DB(P_CRCA) and DB(P1) are not valid during
the QAS phase. During the QAS phase, DB(P_CRCA), and DB(P1) may be released or asserted, but shall not
be actively driven false.
3.2
SELECTION phase
The SELECTION phase allows a SCSI initiator port to select a SCSI target port for the purpose of initiating
some target function (e.g., READ or WRITE command). During the SELECTION phase, the I/O signal is
negated to distinguish this phase from the RESELECTION phase.
Parallel SCSI Interface Product Manual, Rev. A
55
Download from Www.Somanuals.com. All Manuals Search And Download.
Refer to Section 3.4 for a description of the fairness algorithm which applies during SELECTION and RESE-
LECTION phases.
3.2.1
Selection overview
The SCSI device that won a normal arbitration has both the BSY and SEL signals asserted and has delayed at
least one bus clear delay plus a bus settle delay before ending the normal ARBITRATION phase.
The SCSI device that won QAS has the SEL signal asserted and has delayed at least one QAS arbitration
delay before ending the QAS phase.
The SCSI device that won the arbitration identifies itself as a SCSI initiator port by not asserting the I/O signal.
3.2.1.1
Selection using attention condition
3.2.1.1.1
Starting the SELECTION phase when using attention condition
The initiator shall set the Data Bus to a value that is the OR of its SCSI ID bit, the target's SCSI ID bit, and the
appropriate parity bit(s) [i.e., DB(P_CRCA) and/or DB(P1)]. The initiator shall create an attention condition
(indicating that a MESSAGE OUT phase is to follow the SELECTION phase).
If the arbitration was a normal arbitration, then the initiator shall wait at least two system deskew delays and
release the BSY signal. The initiator shall then wait at least one bus settle delay before attempting to detect an
assertion of the BSY signal from the target.
If QAS was used for arbitration then the SCSI initiator port shall wait at least one bus settle delay before
attempting to detect an assertion of the BSY signal from the SCSI target port.
The target shall detect that it is selected when the SEL signal and its SCSI ID bit are true and the BSY and I/O
signals are false for at least one bus settle delay. The selected target may examine the Data Bus in order to
determine the SCSI ID of the selecting initiator. The selected target shall then assert the BSY signal within one
selection abort time of its most recent detection of being selected; this is required for correct operation of the
selection timeout procedure.
The target shall not respond to a selection if bad parity is detected (see sections 3.9.2.1 and 3.9.3.1). Also, if
more or less than two SCSI ID bits are on the Data Bus, the target shall not respond to selection.
No less than two system deskew delays after the initiator detects the BSY signal is true, it shall release the
SEL signal and may change the Data Bus. The target shall wait until the SEL signal is false before asserting
the REQ signal to enter an information transfer phase.
3.2.1.1.2
Information unit transfers disabled
If information unit transfer agreement is not in effect for the connecting SCSI initiator port device, the SCSI tar-
3.2.1.1.3
Information unit transfers enabled
If information unit transfers are enabled (see Section 4.3.12) for the connecting initiator, the target shall follow
the phase sequences defined in Section 3.5. On detecting the MESSAGE OUT phase, the initiator shall begin
a PPR (Parallel Protocol Request) negotiation (see Section 4.3.12 in this manual). On completion of the PPR
negotiation, the target shall proceed to a BUS FREE phase. If the first message received by the target during
the MESSAGE OUT phase is not a task management message or a PPR message, the target shall change to
a MESSAGE IN phase and issue a MESSAGE REJECT message followed by a WDTR message with TRANS-
FER WIDTH EXPONENT field set to 00h. If the target does not support the WDTR message, it shall follow the
MESSAGE REJECT message with an SDTR message with the REQ/ACK Offset field set to 00h.
56
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
3.2.1.1.4
Selection using attention condition timeout procedure
Two optional selection timeout procedures are specified for clearing the SCSI bus if the initiator waits a mini-
mum of one selection timeout delay and there has been no BSY signal response from the target:
• Optionally, the initiator shall assert the RST signal.
• Optionally, the initiator shall continue asserting the SEL signal and shall release the Data Bus,
DB(P_CRCA), and/or DB(P1). If the initiator has not detected the BSY signal to be true after at least one
selection abort time plus two system deskew delays, the initiator shall release the SEL signal allowing the
SCSI bus to go to the BUS FREE phase. SCSI devices shall ensure that, when responding to selection, the
selecting was still valid within one selection abort time of their assertion of the BSY signal. Failure to comply
with this requirement may result in an improper selection (for example, two targets connected to the same
initiator, wrong target connected to a SCSI initiator port or a SCSI target port connected to no initiator).
3.2.1.2
Selection without using attention condition
Information unit transfers disabled or enabled
3.2.1.2.1
The initiator shall set the Data Bus to a value that is the OR of its SCSI ID bit, the target’s SCSI ID bit, and the
appropriate parity bit(s) (i.e., DB(P_CRCA), and/or DB(P1)) and it shall clear the attention condition, indicating
that an INFORMATION UNIT OUT phase is to follow the SELECTION phase.
If the arbitration was a normal arbitration, then the initiator shall wait at least two system deskew delays and
release the BSY signal. The initiator shall then wait at least one bus settle delay before attempting to detect an
assertion of the BSY signal from the target.
If QAS was used for arbitration, then the initiator shall wait at least one bus settle delay before attempting to
detect an assertion of the BSY signal from the target.
The target shall detect it is selected when the SEL signal and its SCSI ID bit are true and the BSY and I/O sig-
nals are false for at least one bus settle delay. The selected target may examine the Data Bus in order to deter-
mine the SCSI ID of the selecting initiator. The selected target shall then assert the BSY signal within one
selection abort time of its most recent detection of being selected; this is required for correct operation of the
selection time-out procedure.
The target shall not respond to a selection if bad parity is detected (see sections 3.9.2.1 and 3.9.3.1). Also, if
more or less than two SCSI ID bits are on the Data Bus, the target shall not respond to selection.
The SCSI initiator port shall wait at least two system deskew delays after detecting that the BSY signal is true.
The SCSI initiator port shall then release the SEL signal and may change the Data Bus signals. The target
shall wait until the SEL signal is false before asserting the REQ signal to enter an information transfer phase.
If information unit transfers are enabled (see Section 4.3.12) for the connecting initiator, the target shall follow
If information unit transfers are disabled (see Section 4.3.12) for the connecting initiator, the target shall follow
If a SCSI initiator port, when selecting without using an attention condition, detects an unexpected COMMAND
phase, it shall set its transfer agreement to the default transfer agreement and set its negotiation required flag
to true, create an attention condition, and on the corresponding MESSAGE OUT phase shall issue an ABORT
TASK message. On the next selection of the SCSI target port that received the ABORT TASK message the
SCSI initiator port shall do a selection using the attention condition and should negotiate to enable information
unit transfers.
3.2.1.2.2
Selection without using attention condition time-out procedure
Two optional selection time-out procedures are specified for clearing the SCSI bus if the initiator waits a mini-
mum of one selection time-out delay and there has been no BSY signal response from the target:
Parallel SCSI Interface Product Manual, Rev. A
57
Download from Www.Somanuals.com. All Manuals Search And Download.
(b) Optionally, the initiator shall continue asserting the SEL signal and shall release the Data Bus,
DB(P_CRCA), or DB(P1). If the initiator has not detected the BSY signal to be true after at least one
selection abort time plus two system deskew delays, the initiator shall release the SEL signal allowing
the SCSI bus to go to the BUS FREE phase. SCSI devices shall ensure that, when responding to
selection, the selection was still valid within one selection abort time of their assertion of the BSY sig-
nal. Failure to comply with this requirement may result in an improper selection (for example, two tar-
gets connected to the same initiator, wrong target connected to a SCSI initiator port, or a SCSI target
port connected to no initiator).
3.3
RESELECTION phase
3.3.1
RESELECTION phase overview
The RESELECTION phase allows a SCSI target port to physically reconnect to a SCSI initiator port for the pur-
pose of continuing some operation that was previously started by the initiator but was suspended by the target
(i.e., the target physically disconnected by allowing a BUS FREE phase to occur or issued a QAS REQUEST
message before the operation was complete). During the RESELECTION phase, the I/O signal is asserted to
distinguish this phase from the SELECTION phase.
Refer to Section 3.4 for a description of the fairness algorithm which applies during SELECTION and RESE-
LECTION phases.
3.3.2
Physical reconnection
The SCSI device that won a normal arbitration has both the BSY and SEL signals asserted and has delayed at
least a bus clear delay plus one bus settle delay before ending the normal ARBITRATION phase.
The SCSI device that won a QAS has the SEL signal asserted and has delayed at least a QAS arbitration
delay before ending the QAS phase.
The SCSI device that won the arbitration identifies itself as a SCSI target port by asserting the I/O signal.
The winning SCSI device shall also set the Data Bus to a value that is the logical OR of its SCSI ID bit and the
initiator’s SCSI ID bit and the appropriate parity bit(s) [i.e., DB(P_CRCA), and/or DB(P1)].
If the arbitration was a normal arbitration, then the target shall wait at least two system deskew delays and
release the BSY signal. The target shall then wait at least one bus settle delay before attempting to detect an
assertion of the BSY signal by the initiator.
If QAS was used for arbitration, then the target shall wait at least a bus settle delay before attempting to detect
an assertion of the BSY signal from the initiator.
The initiator shall be physically reconnected when the SEL and I/O signals and its SCSI ID bit are true and the
BSY signal is false for at least one bus settle delay. The physically reconnected initiator may examine the Data
Bus in order to determine the SCSI ID of the physically reconnected target. The physical reconnected initiator
shall then assert the BSY signal within one selection abort time of its most recent detection of being physically
reconnected; this is required for correct operation of the timeout procedure.
The initiator shall not respond to a physical reconnection if bad parity is detected (see sections 3.9.2.1 and
3.9.3.1). Also, if more than or less than two SCSI ID bits are on the Data Bus, the initiator shall not respond to
a physical reconnection.
After the target detects the assertion of the BSY signal, it shall also assert the BSY signal and wait at least two
system deskew delays and then release the SEL signal. The target may then change the I/O signal and the
Data Bus. After the physically reconnected initiator detects the SEL signal is false, it shall release the BSY sig-
nal. The target shall continue asserting the BSY signal until it relinquishes the SCSI bus.
Note. When the target is asserting the BSY signal, a transmission line phenomenon known as a wired-OR
58
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
glitch may cause the BSY signal to appear false for up to a round-trip propagation delay following the
release of the BSY signal by the initiator. This is the reason why the BUS FREE phase is recognized
only after both the BSY and SEL signals are continuously false for a minimum of one bus settle delay.
For more information on glitches, see ANSI SPI-5, T10/1525D.
3.3.3
Physical reconnection timeout procedure
Two optional physical reconnection timeout procedures are specified for clearing the SCSI bus during a RESE-
LECTION phase if the target waits a minimum of one selection timeout delay and there has been no BSY sig-
nal response from the initiator:
• Optionally, the target shall continue asserting the SEL and I/O signals and shall release all Data Bus,
DB(P_CRCA), and/or DB(P1) signals. If the target has not detected the BSY signal to be true after at least a
selection abort time plus two system deskew delays, the target shall release the SEL and I/O signals allow-
ing the SCSI bus to go to the BUS FREE phase. SCSI devices shall ensure that the physical reconnection
was still valid within one selection abort time of their assertion of the BSY signal. Failure to comply with this
requirement may result in an improper physical reconnection (two initiators connected to the same target or
the wrong initiator connected to a SCSI target port).
3.4
SCSI bus fairness
Implementation of the SCSI bus fairness is optional, however, if implemented, the SCSI bus fairness protocol
shall conform to ANSI specification SPI-5, Annex B.
A SCSI device determines “fairness” by monitoring prior arbitration attempts by other SCSI devices. It shall
postpone arbitration for itself until all lower priority SCSI devices that previously lost arbitration either win a
subsequent arbitration or discontinue their arbitration attempts (as in the case where the initiator aborted an
outstanding command thus removing the need to re-arbitrate).
When a SCSI device does not need to arbitrate for the SCSI bus, it shall monitor the arbitration attempts of the
other SCSI devices and update a fairness register with the SCSI IDs of any lower priority SCSI devices that
lost arbitration.
When a requirement for arbitration arises, the SCSI device shall first check to see if its fairness register is clear
(see Section 3.1.2.3). If it is clear, then no lower priority SCSI devices had attempted and lost the previous arbi-
tration and therefore, this SCSI device may now participate in arbitration. If the fairness register is not clear, the
SCSI device shall postpone arbitration until all lower priority SCSI IDs have been cleared from the fairness reg-
ister. Lower SCSI IDs are cleared as those lower level SCSI devices win arbitration. SCSI IDs shall also be
cleared if a SCSI device discontinues arbitration (e.g., as a result of an ABORT TASK message, ABORT TASK
SET message, CLEAR TASK SET message, or logical unit reset).
The fairness register may be refreshed, updated or cleared. The fairness register is refreshed by copying the
SCSI IDs of any lower priority SCSI devices that lost arbitration into the fairness register. A refresh of the fair-
ness register completely replaces the previous contents of the fairness register. The fairness register is
updated by removing the SCSI IDs of any lower priority devices that win arbitration or discontinue arbitration.
The fairness register is cleared by setting all of its bits to zero. SCSI IDs may only be added to the fairness reg-
ister by a refresh but may be subtracted by a refresh, update, or clear.
Since the fairness register is only refreshed when the SCSI device is not arbitrating for itself, the fairness regis-
ter is effectively frozen by the SCSI device prior to a requirement for its own arbitration arising. Other lower pri-
ority SCSI devices that were not latched shall not be added to the fairness register until this SCSI device has
successfully arbitrated.
See ANSI specification SPI-5, Annex B, for details and timing for the SCSI bus fairness algorithm.
Parallel SCSI Interface Product Manual, Rev. A
59
Download from Www.Somanuals.com. All Manuals Search And Download.
3.5
Information transfer phases
The COMMAND, DATA, STATUS, and MESSAGE phases are grouped together as information transfer
phases because they are all used to transfer data or control information via the data bus. The actual contents
of the information is beyond the scope of this section.
The C/D, I/O, and MSG signals are used to distinguish between the different information transfer phases (see
Table 21). The target drives these three signals and therefore controls all changes from one phase to another.
The initiator requests a MESSAGE OUT phase by creating an attention condition, The target causes the BUS
FREE phase by releasing MSG, C/D, I/O, and BSY signals.
Table 21: Information transfer phases
Signal
MS
C/D
0
G
I/O
0
Phase
Direction of transfer
Comment
0
ST DATA OUT
ST DATA IN
DT DATA OUT
DT DATA IN
COMMAND
STATUS
Initiator to target
Initiator from target
Initiator to target
Initiator from target
Initiator to target
Initiator from target
Initiator to target
Initiator from target
ST DATA
Phase
0
0
1
1
0
0
1
1
1
DATA phase
0
0
DT DATA
phase
0
1
1
0
1
1
1
0
MESSAGE OUT
MESSAGE IN
MESSAGE
Phase
1
1
Key: 0 = False, 1 = True
The information transfer phases use one or more REQ/ACK handshakes to control the information transfer.
Each REQ/ACK handshake allows the transfer of 8- or 16-bits of information depending on the negotiated
transfer width (see Section 4.3.18). During the information transfer phases the BSY signal shall remain true
and the SEL signal shall remain false. Additionally, during the information transfer phases, the target shall con-
tinuously envelope the REQ/ACK handshakes with the C/D, I/O, and MSG signals in such a manner that these
control signals are valid for one bus settle delay before the assertion of the REQ signal of the first handshake
and remain valid until after the negation of the ACK signal at the end of the handshake of the last transfer of the
phase.
The SCSI target port shall not transition into an information transfer phase unless the REQ/ACK signals are
negated. The target shall not transition from an information transfer phase into another information transfer
phase unless the REQ and ACK signals are negated.
Note. After the negation of the ACK signal of the last transfer of the phase, the target may prepare for a new
phase by asserting or negating the C/D, I/O, and MSG signals. These signals may be changed
together or individually. They may be changed in any order and may be changed more than once. It is
desirable that each line change only once. A new phase does not begin until the REQ signal is
asserted for the first byte of the new phase.
Note. A phase is defined as ending when the C/D, I/O, or MSG signals change after the negation of the ACK
signal. The time between the end of a phase and the assertion of the REQ signal beginning a new
phase is undefined.
There are three methods of transferring data using information transfers:
• Asynchronous transfers
• Synchronous transfers
• Paced transfers
60
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Synchronous transfers shall only be used for negotiated transfer rates less than or equal to Fast-80.
Paced transfers shall only be used for a negotiated transfer rate of Fast-160.
3.5.1
Asynchronous transfer
The target shall control the direction of information transfer by means of the I/O signal. When the I/O signal is
true, information shall be transferred from the target to the initiator. When the I/O signal is false, information
shall be transferred from the initiator to the target.
If the I/O signal is true (i.e., transfer to the SCSI initiator port), the target shall first drive the DB(7-0,P_CRCA)
or DB(15-0,P_CRCA,P1) signals to their desired values, delay at least one system deskew delay plus one
cable skew, then assert the REQ signal. The DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals shall remain
valid until the ACK signal is true at the target. The initiator shall read the DB(7-0,P_CRCA) or DB(15-
0,P_CRCA,P1) signals after the REQ signal is true, then indicate its acceptance of the data by asserting the
ACK signal. When the ACK signal becomes true at the target, the target may change or release the DB(7-
0,P_CRCA) or DB(15-0,P_CRCA,P1) signals and shall negate the REQ signal. After the REQ signal is false,
the initiator shall then negate the ACK signal. After the ACK signal is false, the target may continue the transfer
by driving the DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals and asserting the REQ signal as described
above.
If the I/O signal is false (i.e., transfer to the SCSI target port), the target shall request information by asserting
the REQ signal. The SCSI initiator port shall drive the DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals to
their values, delay at least one system deskew delay plus one cable skew, and assert the ACK signal. The ini-
tiator shall continue to drive the DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals until the REQ signal is
false. When the ACK signal becomes true at the target, the target shall read the DB(7-0,P_CRCA) or DB(15-
0,P_CRCA,P1) signals then negate the REQ signal. When the REQ signal becomes false at the initiator, the
initiator may change or release the DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals and shall negate the
ACK signal. After the ACK signal is false, the target may continue the transfer by asserting the REQ signal as
described above.
3.5.2
Synchronous transfer
Synchronous transfer is optional and is only used in DATA phases. It shall be used in a DATA phase if a syn-
chronous transfer agreement has been established (see section 4.3.16 or 4.3.12). The transfer agreement
specifies the REQ/ACK offset and the transfer period.
When synchronous data transfers are being used, data may be transferred using ST data transfers or, option-
ally, DT data transfers. DT data transfers shall only be used on 16-bit-wide buses that transmit and receive
data using LVD transceivers.
Implementors shall not use this section for timing requirements. For timing requirements, see Section 2.5.
3.5.2.1
ST synchronous data transfer
When a ST data transfer agreement has been established, the SCSI target port shall only use the ST DATA IN
phase and ST DATA OUT phase for data transfers.
The REQ/ACK offset specifies the maximum number of REQ assertions that shall be sent by the target in
advance of the number of ACK assertions received from the initiator, establishing a pacing mechanism. If the
number of REQ assertions exceeds the number of ACK assertions by the REQ/ACK offset, the target shall not
assert the REQ signal until after the next ACK assertion is received. For successful completion of the ST DATA
phase, the number of ACK and REQ assertions shall be equal.
If the I/O signal is true (i.e., transfer to the SCSI initiator port), the target shall first drive the DB(7-0,P_CRCA)
or DB(15-0,P_CRCA,P1) signals to their values, wait at least one transmit setup time, then assert the REQ sig-
nal. The DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals shall be held valid for a minimum of a transmit
Parallel SCSI Interface Product Manual, Rev. A
61
Download from Www.Somanuals.com. All Manuals Search And Download.
hold time after the assertion of the REQ signal. The target shall assert the REQ signal for a minimum of one
transmit assertion period. The target may then negate the REQ signal and change or release the DB(7-
0,P_CRCA) or DB(15-0,P_CRCA,P1) signals. The initiator shall read the value on the DB(7-0,P_CRCA) or
DB(15-0,P_CRCA,P1) signals within one receive hold time of the transition of the REQ signal to true. The
SCSI initiator port shall then respond with an ACK assertion.
If the I/O signal is false (i.e., transfer to the SCSI target port), the SCSI initiator port, after detecting a REQ
assertion, shall first drive the DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals to their values, delay at least
one transmit setup time, then assert the ACK signal. The initiator shall hold the DB(7-0,P_CRCA) or DB(15-
0,P_CRCA,P1) signals valid for at least one transmit hold time after the assertion of the ACK signal. The initia-
tor shall assert the ACK signal for a minimum of one transmit assertion period. The SCSI initiator port may then
negate the ACK signal and may change or release the DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals.
The target shall read the value of the DB(7-0,P_CRCA) or DB(15-0,P_CRCA,P1) signals within one receive
hold time of the transition of the ACK signal to true.
3.5.2.2
DT synchronous transfer
When a DT data transfer agreement has been established the target shall only use the DT DATA IN phase and
DT DATA OUT phase for data transfers.
During DT data transfers, data shall be clocked on both the assertion and negation of the REQ and ACK signal
lines. References to REQ/ACK transitions in this section refer to either an assertion or a negation of the REQ
or ACK signal.
The REQ/ACK offset specifies the maximum number of REQ transitions that shall be sent by the target in
advance of the number of ACK transitions received from the initiator, establishing a pacing mechanism. If the
number of REQ transitions exceeds the number of ACK transitions by the REQ/ACK offset, the target shall not
transition the REQ signal until after the next ACK transition is received. For successful completion of the DT
DATA phase the number of ACK and REQ transitions shall be equal and both REQ and ACK shall be negated.
3.5.2.2.1
Information unit transfer
a. information units shall be transferred on the DT DATA OUT phase and the DT DATA IN phase, and
b. the information units’ embedded iuCRC shall be used to detect information unit data errors.
If the I/O signal is true (i.e., transfer to the initiator), to transfer SPI information units, the target:
1. shall drive the DB(15-0) signals to their values;
2. shall wait at least one transmit setup time from DB(15-0) being driven with valid data;
3. shall transition the REQ signal;
4. shall hold the DB(15-0) signals valid for a minimum of one transmit hold time;
5. may change or release the DB(15-0) signals; and
6. shall not change the REQ signal for a minimum of one transmit assertion period.
If the I/O signal is true (i.e., transfer to the initiator), to receive SPI information units, the initiator shall:
1. read the value on the DB(15-0) signals within one receive hold time of the transition of the REQ signal;
and
2. respond with an ACK transition.
If the I/O signal is false (i.e., transfer to the target), to transfer SPI information units, the initiator:
1. shall wait until after detecting a REQ transition;
2. shall drive the DB(15-0) signals to their desired values;
62
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
3. shall delay at least one transmit setup time;
4. shall transition the ACK signal;
5. shall hold the DB(15-0) signals valid for at least one transmit hold time;
6. shall not change the ACK signal for a minimum of one transmit assertion period; and
7. may then change or release the DB(15-0) signals.
If the I/O signal is false (i.e., transfer to the target), to receive SPI information units, the target:
1. shall read the value of the DB(15-0) signals within one receive hold time of the transition of the ACK;
2. shall not transition the REQ signal for the current SPI information unit until the initiator has responded
with all ACK transitions for the previous SPI information unit.
As a result of a SPI information unit always being an even number of transfers, the REQ and ACK signals are
negated both before and after the transmission of the SPI information unit.
3.5.2.2.1.1
DT DATA IN phase information unit transfer exception condition handling
The initiator shall not negate the ACK for the last byte of the last iuCRC in an information unit until the entire
information unit has been verified and any required attention condition has been established.
If the nexus has been fully identified (i.e., an I_T_L_Q nexus has been established) and the initiator detects an
iuCRC error in any information unit (other than a SPI status information unit) it receives while in the DT DATA
IN phase, the initiator shall create an attention condition on or before the last iuCRC within the failed informa-
tion unit is acknowledged. When the target switches to a MESSAGE OUT phase, the initiator should send a
SCSI initiator port Detected Error message (see Section 4.3.5) to the target. This message notifies the target
that data in the information unit was invalid.
If a SCSI initiator port detects an iuCRC error in a SPI status information unit, the initiator shall create an atten-
tion condition on or before the last iuCRC of the information unit is acknowledged. If the target detects an
attention condition, it shall switch to a MESSAGE OUT phase and the initiator shall send a SCSI initiator port
notify the target that the SPI status information unit was invalid and the message received from the initiator was
a SCSI initiator port Detected Error message.
If the information unit that failed was not a SPI status information unit, then the target shall send a SPI L_Q/SPI
status information unit pair to the initiator with a CHECK CONDITION status and a sense key set to Aborted
Command and an additional sense code set to Initiator Detected Error Message Received for the task associ-
ated with the received INITIATOR DETECTED ERROR message.
If the information unit that failed was a SPI status information unit and the message received was a SCSI initi-
ator port Detected Error message, then the target shall retry transferring the SPI L_Q/SPI status information
unit pair to the initiator with the original status information.
If the information unit that failed was a SPI status information unit and the message received was an ABORT
TASK message, then the target shall cause a bus free by generating a BUS FREE phase.
If the initiator is receiving a SPI L_Q information unit and the initiator detects an iuCRC error (i.e., the nexus
identification fails) while in the DT DATA IN phase, the initiator shall create an attention condition on or before
the iuCRC is acknowledged. When the target switches to a MESSAGE OUT phase, the initiator should send a
SCSI initiator port Detected Error message (see Section 4.3.5) to the target. This message notifies the target
that the nexus identification failed. The target shall then cause a bus free by generating a BUS FREE phase,
however, the target shall retry the task associated with the failed SPI L_Q information unit.
If the initiator receives a SPI L_Q information unit with a type code that is not defined in Table 50, that initiator
shall create an attention condition after negating the ACK for the last byte of the iuCRC in the SPI L_Q informa-
tion unit and before negating the ACK for the last byte of the last iuCRC in the information unit that follows the
SPI L_Q information unit. When the target switches to a MESSAGE OUT phase, the initiator shall send an
Parallel SCSI Interface Product Manual, Rev. A
63
Download from Www.Somanuals.com. All Manuals Search And Download.
ABORT TASK message (see Section 4.5.2) to the target. The target shall send a SPI L_Q/SPI status informa-
tion unit pair to the initiator with a CHECK CONDITION status and a sense key set to Aborted Command for
the task associated with the received ABORT TASK message.
3.5.2.2.1.2
DT DATA OUT phase information unit transfer exception condition handling
The target shall only respond to an iuCRC error after all the data in an information unit has been received.
If the nexus has been fully identified (i.e., an I_T_L_Q nexus has been established) and the target detects an
iuCRC error in any SPI information unit it receives while in the DT DATA OUT phase, the target shall, before
receiving another SPI L_Q information unit, switch to a DT DATA IN phase and send a SPI L_Q/SPI status
information unit pair to the initiator with a CHECK CONDITION status and a sense key set to Aborted Com-
mand and the additional sense code set to iuCRC Error Detected for the task associated with the iuCRC error.
If the target detects an iuCRC error on an iuCRC interval that is not at the end of a SPI information unit, the tar-
get shall not respond to the error until all the bytes of the SPI information unit in which the error occurred have
been transferred, however, the target may discard the transmitted information.
If the target is receiving a SPI L_Q information unit and the target detects an iuCRC error (i.e., the nexus iden-
tification fails), the target shall cause an unexpected bus free by generating a BUS FREE phase (see Section
3.1.1).
If a SCSI target port receives a SPI L_Q information unit with a type code that is not defined in Table 50, that
target shall transfer all the bytes indicated by the data length and iuCRC interval and shall discard the transmit-
ted information. After transferring all the bytes, the target shall change to a DT DATA IN phase and transmit a
SPI status information unit with a RSPVALID bit of one and the packetized failure code set to Invalid Type
Code Received in SPI L_Q Information Unit.
If a SCSI target port receives a SPI L_Q information unit with an illegal data length (see 14.3.2) the SCSI target
port shall transfer all the bytes indicated by the data length and iuCRC interval and shall discard the transmit-
ted information. After transferring all the bytes the SCSI target port shall change to a DT DATA IN phase and
transmit a SPI status information unit with a RSPVALID bit of one and the packetized failure code set to ILLE-
GAL REQUEST RECEIVED IN SPI L_Q INFORMATION UNIT.
3.5.2.2.2
Data group data field transfer
When the target is transferring consecutive data groups, it shall not transition the REQ signal while the
P_CRCA signal is asserted for the current data group until the initiator has acknowledged the entire previous
data group.
Note. The requirement above ensures the initiator is not required to maintain more than one simultaneous
pCRC calculation in different data groups.
If the I/O signal is true (i.e., transfer to the initiator), to transfer the data field, the target:
1. shall drive the DB(15-0) signals to their values and shall negate the P_CRCA signal;
2. shall wait at least the longer of one pCRC transmit setup time from the negation of P_CRCA or one
transmit setup time from DB(15-0) being driven with valid data;
3. shall transition the REQ signal;
4. shall hold the DB(15-0) signals valid for a minimum of one transmit hold time and shall hold the
P_CRCA signal for a minimum of a pCRC transmit hold time;
5. may change or release the DB(15-0) and P_CRCA signals; and
6. shall not change the REQ signal for at least one transmit assertion period if asserted or one transmit
negation period if negated.
If the I/O signal is true (i.e., transfer to the initiator), to receive the data field, the initiator shall:
1. read the value on the DB(15-0) signals within one receive hold time of the transition of the REQ signal;
64
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
2. read the value of the P_CRCA signal within one pCRC receive hold time of the transition of the REQ
signal; and
3. respond with an ACK transition.
If the I/O signal is false (i.e., transfer to the target), to transfer the data field, the initiator:
1. shall wait until after detecting a REQ transition with P_CRCA negated;
2. shall drive the DB(15-0) signals to their values;
3. shall delay at least one transmit setup time;
4. shall transition the ACK signal;
5. shall hold the DB(15-0) signals valid for at least one transmit hold time;
6. may then change or release the DB(15-0) signals; and
7. shall not change the ACK signal for at least one transmit assertion period if asserted or one transmit
negation period if negated.
If the I/O signal is false (i.e., transfer to the target), to receive the data field, the target:
1. shall read the value of the DB(15-0) signals within one receive hold time of the transition of the ACK.
3.5.2.2.2.1
Data group pad field and pCRC field transfer to SCSI initiator port
The target detects a pad field is required if the I/O signal is true (i.e., transfer to the initiator), the target has
completed the data field transfer of the current data group, and REQ signal is asserted. In this case, the target
shall:
1. wait at least one pCRC transmit hold time since the last REQ assertion to assert P_CRCA;
2. wait at least one transmit hold time since the last REQ assertion to assert the DB(15-0) signals to their
pad values;
3. wait at least the longer of one pCRC transmit setup time from the assertion of P_CRCA or one transmit
setup time from DB(15-0) being driven with valid pad data;
4. wait until the initiator has responded with all ACK transitions for the previous data group;
5. wait at least one transmit REQ assertion period with P_CRCA transitioning since the last REQ asser-
tion;
6. negate the REQ signal without waiting for the ACK transition corresponding to the previous REQ tran-
sition unless the negotiated offset would be exceeded;
7. hold the DB(15-0) signals valid for a minimum of one transmit hold time and hold the REQ signal
negated for a minimum of one transmit negation period;
8. drive the DB(15-0) signals to their pCRC values;
9. wait at least one transmit setup time;
10.assert the REQ signal without waiting for the ACK transition corresponding to the previous REQ transi-
tion unless the negotiated offset would be exceeded;
11.hold the DB(15-0) signals for a minimum of one transmit hold time and hold the REQ signal asserted
for a minimum of one transmit assertion period;
12.drive the DB(15-0) signals to their pCRC values;
13.wait at least one transmit setup time;
14.negate the REQ signal without waiting for the ACK transition corresponding to the previous REQ tran-
sition unless the negotiated offset would be exceeded;
15.hold the DB(15-0) signals for a minimum of one transmit hold time and hold the P_CRCA signal
asserted for at least one pCRC transmit hold time; and
16.hold the REQ signal negated for at least one transmit REQ negation period with P_CRCA transitioning
since the last REQ negation.
Parallel SCSI Interface Product Manual, Rev. A
65
Download from Www.Somanuals.com. All Manuals Search And Download.
Note. The above requirements in steps 6), 10), and 14) to not wait for the ACK transition corresponding to
the previous REQ transition were not present in the SPI-3 standard. For compatibility with old designs
SCSI initiator ports should generate ACK transitions for all received REQ transitions.
If the SCSI target port determines that a pad field is not required, has completed the data field transfer of the
current data group, the I/O signal is true (i.e., transfer to the SCSI initiator port), and the REQ signal is negated,
the SCSI target port shall:
1. wait at least one pCRC transmit hold time since the last REQ negation to assert P_CRCA;
2. wait at least one transmit hold time since the last REQ negation to assert the DB(15-0) signals to their
pCRC values;
3. wait at least the longer of one pCRC transmit setup time from the assertion of P_CRCA or a transmit
setup time from DB(15-0) being driven with valid pCRC data;
4. wait until the initiator has responded with all ACK transitions for the previous data group;
5. wait at least one transmit REQ negation period with P_CRCA transitioning since the last REQ nega-
tion;
6. assert the REQ signal;
7. hold the DB(15-0) signals for a minimum of one transmit hold time and hold the REQ signal asserted
for a minimum of one transmit assertion period;
8. drive the DB(15-0) signals to their pCRC values;
9. wait at least one transmit setup time;
10.negate the REQ signal;
11.hold the DB(15-0) signals for a minimum of one transmit hold time and hold the P_CRCA signal
asserted for a minimum of one pCRC transmit hold time; and
12.hold the REQ signal negated for at least one transmit REQ negation period with P_CRCA transitioning
since the last REQ negation.
After either of the above sequences is complete, the target has ended a data group transfer.
The initiator shall read the value on the DB(15-0) signals within one receive hold time of the transition of the
REQ signal. The initiator shall then respond with an ACK transition.
The initiator shall continue to use the pad bytes, if any, for checking against the computed pCRC for the current
data group. Upon receipt of the last byte of the pCRC field, the received pCRC and computed pCRC shall be
compared. If they do match (i.e., no pCRC error), then the initiator shall negate the ACK signal.
If received pCRC and computed pCRC do not match (i.e., a pCRC error is detected) or if an improperly format-
ted data group is transferred, then the initiator shall create an attention condition on or before the last transfer
of the data group. When the target switches to a MESSAGE OUT phase, the initiator should send a SCSI initi-
ator port Detected Error message (see Section 4.3.5) to the target. This message notifies the target that data
contained within the data group was invalid.
If the target does not retry transferring the information transfer or it exhausts its retry limit, the target shall go
into a STATUS phase and send a CHECK CONDITION status with a sense key set to Aborted Command and
an additional sense code set to Initiator Detected Error Message Received for the task associated with the
received INITIATOR DETECTED ERROR message.
3.5.2.2.2.2
Data group pad field and pCRC field transfer to SCSI target port
If the I/O signal is false (i.e., transfer to the target), the initiator determines the data field. Transfer to the target
is completed by detecting an assertion of the P_CRCA signal. If the REQ signal is asserted (i.e., pad field
required), the initiator shall first transfer the two pad bytes, then the four pCRC bytes. If the REQ signal is
negated (i.e., no pad field required), the initiator shall transfer the four pCRC bytes.
66
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Pad field data and pCRC field data are transferred using the same negotiated transfer period as the data field
data.
The target may continue to send REQs, up to the negotiated offset, for the next data group. The target shall not
transition REQ with P_CRCA asserted until the initiator has responded with all ACK transitions for the previous
data group.
When the initiator detects an assertion of the P_CRCA signal and the REQ signal is asserted (i.e., pad field
required), it shall then:
1. transfer data bytes for all outstanding REQs received prior to the REQ that had the P_CRCA signal
asserted;
2. drive the DB(15-0) signals to their pad values;
3. delay at least one transmit setup time;
4. negate the ACK signal;
5. hold the DB(15-0) signals valid for a minimum of one transmit hold time and hold the ACK signal
negated for a minimum of one transmit assertion period;
6. drive the DB(15-0) signals to their pCRC values;
7. delay at least one transmit setup time;
8. assert the ACK signal;
9. hold the DB(15-0) signals valid for a minimum of one transmit hold time and hold the ACK signal
asserted for a minimum of one transmit assertion period;
10.drive the DB(15-0) signals to their pCRC values;
11.delay at least one transmit setup time;
12.negate the ACK signal; and
13.hold the DB(15-0) signals valid for a minimum of one transmit hold time and hold the ACK signal
negated for a minimum of one transmit assertion period.
When the initiator detects an assertion of the P_CRCA signal and the REQ signal is negated (i.e., no pad field
required), it shall then:
1. transfer data bytes for all outstanding REQs received prior to the REQ that had the P_CRCA signal
asserted;
2. drive the DB(15-0) signals to their pCRC values;
3. delay at least one transmit setup time;
4. assert the ACK signal;
5. hold the DB(15-0) signals valid for a minimum of one transmit hold time and hold the ACK signal
asserted for a minimum of one transmit assertion period;
6. drive the DB(15-0) signals to their pCRC values;
7. delay at least one transmit setup time;
8. negate the ACK signal; and
9. hold the DB(15-0) signals valid for a minimum of one transmit hold time and hold the ACK signal
negated for a minimum of one transmit assertion period.
After either of the above sequences is complete, the target has ended a data group transfer.
As a result of a data group always being an even number of transfers, the REQ and ACK signals are negated
both before and after the transmission of the data group.
Parallel SCSI Interface Product Manual, Rev. A
67
Download from Www.Somanuals.com. All Manuals Search And Download.
The target shall read the value of the DB(15-0) signals within one receive hold time of the transition of the ACK
signal. The initiator shall use the pad bytes, if any, in the generation of the transmitted pCRC. The target shall
then use those pad bytes, if any, for checking against the computed pCRC for the current data group. Upon
receipt of the last byte of the pCRC field, the received pCRC and computed pCRC shall be compared.
If received pCRC and computed pCRC do not match (i.e., a pCRC error is detected), or if an improperly for-
matted data group is transferred, then the associated data group shall be considered invalid.
If the target does not retry transferring the information transfer or it exhausts its retry limit, the target shall go
into a STATUS phase and send a CHECK CONDITION status with a sense key set to Aborted Command and
an additional sense code set to SCSI Parity Error for the task associated with the pCRC error.
3.5.3
Paced transfer
If a paced transfer agreement has been established, it shall be used in DT DATA phase and information unit
transfers shall be used. The transfer agreement also specifies the REQ/ACK offset and the transfer period.
When paced transfers are being used data shall be transferred using DT data transfers on 16-bit wide buses
that transmit and receive data using LVD transceivers.
If driver precompensation is enabled at the SCSI device, that SCSI device shall apply driver precompensation
to all the data, parity, REQ, and ACK signals.
During paced DT data transfers, if the phase of the P1 signal indicates data is valid on REQ or ACK assertions,
data shall be clocked by the originating SCSI device by both the assertion and negation of the REQ or ACK
signal lines. The receiving SCSI device shall clock DT data on both the assertion and negation of the REQ or
ACK signal line after having been processed by the receiving SCSI device. If the phase of the P1 signal indi-
cates data is invalid on REQ or ACK assertions, data shall not be clocked by the originating SCSI device and
shall be ignored by the receiving SCSI device. If driver precompensation is enabled at the originating SCSI
device, the originating SCSI device shall apply driver precompensation to all the data signals, the P_CRCA sig-
nal, the P1 signal, and the REQ, and or ACK signal.
For paced DT DATA IN phases the REQ/ACK offset specifies the maximum number of data valid state REQ
assertions that shall be sent by the SCSI target port in advance of the number of ACK assertions received from
the SCSI initiator port. If the number of data valid state REQ assertions exceeds the number of ACK assertions
by the REQ/ACK offset, the SCSI target port shall change P1 to enable the data invalid state prior to the next
assertion of REQ and shall not change P1 to enable a data valid state until after the next ACK assertion is
received. For successful completion of a paced DT DATA IN phase, the number of data valid state REQ asser-
tions and ACK assertions shall be equal. Each assertion indicates a single 32-bit data transfer.
For paced DT DATA OUT phases the REQ/ACK offset specifies the maximum number of REQ assertions that
shall be sent by the SCSI target port in advance of the number of data valid state ACK assertions that shall be
sent by the SCSI target port in advance of the number of data valid state ACK assertions received from the
SCSI initiator port. If the number of REQ assertions exceeds the number of data valid state ACK assertions by
the REQ/ACK offset, the SCSI target port shall not assert REQ until after the next data valid state ACK asser-
tion is received. For successful completion of a paced DT DATA OUT phase, the number of REQ assertions
and data valid state ACK assertions shall be equal. Each assertion indicates a single 32-bit data transfer.
Implementors shall not use the following subsections for timing requirements. For timing requirements, see
3.5.3.1
Paced transfer training pattern
After any PPR negotiation occurs that enables paced transfers, a training pattern shall be transferred at the
start of the first DT data phase for each data transfer direction regardless of the negotiated value of the RTI bit.
If retain training information is disabled, a training pattern shall be transferred at the start of the first DT DATA
phase for each data transfer direction after each physical connect and physical reconnect. The training pattern
shall not be transferred again until after a physical disconnection occurs.
68
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
If the retain training information is enabled, a training pattern shall be transferred at the start of the first DT
DATA phase for each data transfer direction after the retain training information is enabled. The SCSI device
shall save training configuration values for each I_T nexus that has negotiated to retain training information.
The SCSI device shall use the saved training configuration values for all paced transfers. The SCSI target port
may retrain an I_T nexus if it determines the training configuration values are invalid, without having to renego-
tiate the retain training information protocol option.
Note. The training configuration values are vendor specific.
If the retain training information is enabled and a port changes from a SCSI initiator port to a SCSI target port
that SCSI target port shall retrain if the saved training configuration values were saved while the port was a
SCSI initiator port.
The training pattern for a DATA IN phase shall conform to Section 3.5.3.1.1. The training pattern for a DATA
OUT phase shall conform to Section 3.5.3.1.2. The receiving SCSI device shall use some or all elements of the
training pattern to achieve deskewing. The transmitting SCSI device shall not make an intentional shift in rela-
tive timing between the data bus signals and the REQ or ACK signal during the DT data phase.
Note. The requirement to not intentionally change relative timing does not include the effects of ISI, noise, or
jitter.
The training pattern consists of three sections: A, B, and C. Each section contains a different pattern that may
be used to train circuits within a receiver.
3.5.3.1.1
DT DATA IN phase training pattern
The SCSI target port shall indicate a training pattern is going to occur on a DT DATA IN phase by:
1. releasing SEL for a minimum of two system deskew delays;
2. asserting the SEL signal a minimum of two system deskew delays; and
3. then asserting the REQ signal.
The SCSI target port shall begin the section A of its training pattern only after all the signal restrictions between
information transfers phases listed in Section 3.10 or the signal restrictions between a RESELECTION phase
and a DT DATA IN phase listed in Section 3.3 are met. The SCSI target port shall transmit the following training
pattern:
Start of section A
1. if precompensation is enabled, then set the drivers to the strong driver state;
2. simultaneously assert REQ, P1, P_CRCA, and DB(15-0) signals;
3. wait the equivalent of 32 transfer periods (e.g., 200 ns at Fast-160);
4. simultaneously negate REQ, P1, P_CRCA, and DB(15-0) signals;
5. wait the equivalent of 32 transfer periods;
6. set precompensation to negotiated state;
7. negate SEL signal;
8. simultaneously assert and negate REQ, P1, P_CRCA, and DB(15-0) signals at the negotiated transfer
period for 800 ns, (e.g., the equivalent of 128 transfer periods at Fast-160);
Start of section B
1. wait the equivalent of 192 transfer periods from the first assertion of REQ in step 2 of section A (e.g.,
1200 ns at Fast-160);
2. keep the P1, P_CRCA, and DB(15-0) signals negated while continuing to assert and negate REQ at
the negotiated transfer period for the equivalent of 8 transfer periods (e.g., 50 ns at Fast-160);
3. keep the P1, P_CRCA, DT(15-0), and REQ signals negated for the equivalent of 8 additional transfer
periods;
Parallel SCSI Interface Product Manual, Rev. A
69
Download from Www.Somanuals.com. All Manuals Search And Download.
4. simultaneously assert and negate P1, P_CRCA, and DB(15-0) signals at twice the negotiated transfer
period (i.e., simultaneously repeat a 1100b bit pattern 12 times on each signal) while asserting and
negating REQ at the negotiated transfer period 24 times [e.g., (2 x 6.25 ns) x 24 = 300 ns at Fast-160];
and
Start of section C
1. assert and negate REQ at the negotiated transfer period 64 times and at the same time assert and
negate P1 at twice the negotiated transfer period while repeating a 0000010011111011b bit pattern on
each of the P_CRCA and DB(15-0) signals [e.g., the equivalent of 128 transfer periods at Fast-160].
The SCSI initiator port shall begin its training pattern independent of the start of the SCSI target ports training
pattern if it detects the SEL, MSG, and I/O true and C/D false on the first assertion of the REQ signal. The SCSI
initiator port shall transmit the following training pattern:
1. assert ACK signal within 200 ns of the first REQ assertion;
2. if precompensation is enabled then set the drivers to the strong driver state;
3. wait the equivalent of 32 transfer periods (e.g., 200 ns at Fast-160);
4. negate ACK signal;
5. wait the equivalent of 32 transfer periods (e.g., 200 ns at Fast-160);
6. set precompensation to negotiated state; and
7. assert and negate ACK signal at the negotiated transfer period for 400 ns, (e.g., (2 x 6.25 ns) x 32 =
400 ns at Fast-160.
At the completion of its training pattern, the SCSI target port continues asserting and negating the REQ signal
at the negotiated transfer period (e.g., 6.25 ns transfer period at Fast-160) and the P1 signal at twice the nego-
tiated transfer period (e.g., 12.5 ns transfer period at Fast-160). When the SCSI target port is ready to transfer
3.5.3.1.2
DT DATA OUT phase training pattern
The SCSI target port shall request a training pattern on a DT DATA OUT phase by asserting the SEL signal a
minimum of two system deskew delays before asserting the REQ signal.
The SCSI target port shall begin its training pattern only after all the signal restrictions between a SELECTION
phase and a DT DATA OUT phase listed in Section 3.2.1.2 are met. The SCSI target port shall transmit the fol-
lowing training pattern:
1. if precompensation is enabled, set the drivers to the strong driver state;
2. simultaneously assert REQ and P_CRCA signals;
3. wait the equivalent of 32 transfer periods (e.g., 200 ns at Fast-160);
4. simultaneously negate REQ and P_CRCA signals;
5. wait the equivalent of 32 transfer periods (e.g., 200 ns at Fast-160);
6. set precompensation to negotiated state;
7. negate SEL signal;
8. simultaneously assert and negate REQ and P_CRCA signals at the negotiated transfer period 32
times (e.g., (2 x 6.25) x 32 = 400 ns at Fast-160);
9. negate REQ and P_CRCA for at least the equivalent of 16 transfer periods (e.g., 100 ns at Fast-160);
and
10.the SCSI target port shall begin asserting and negating REQ to indicate to the SCSI initiator port valid
data may be sent. The number of REQ assertions shall not exceed the negotiated REQ/ACK offset.
70
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The SCSI initiator port shall begin the section A of its training pattern independent of the start of the SCSI tar-
get ports training pattern if it detects the SEL and MSG true, and C/D and I/O false on the first assertion of the
REQ signal. The SCSI initiator port shall transmit the following pattern:
For fast-320 the SCSI initiator port shall transmit the training pattern described by section A, section B, and
section C in this subclause except that the polarity of DB(0, 1, 4, 5, 9, 10, 13, and 14) shall be inverted during
transmission of section A, section B, and section C (i.e., where it is specified that these signals shall be
asserted, they shall be negated, and where it is specified that these signals shall be negated, they shall be
asserted). These signals shall return to their normal polarity after completion of training pattern
transmission.
Start of section A:
1. if precompensation is enabled, set the drivers to the strong driver state;
2. simultaneously assert ACK, P1, and DB(15-0) signals within the equivalent of 32 transfer periods of
the first REQ assertion (e.g., 200 ns at Fast-160);
3. wait the equivalent of 32 transfer periods (e.g., 200 ns at Fast-160);
4. simultaneously negate ACK, P1, and DB(15-0) signals;
5. wait the equivalent of 32 transfer periods;
6. set precompensation to negotiated state;
7. simultaneously assert and negate ACK, P1, and DB(15-0) signals at the negotiated transfer period 64
times (e.g., (2 x 6.25) x 64 = 800 ns at Fast-160);
Start of section B:
1. wait the equivalent of 192 transfer periods from the first assertion of ACK in step 2 of section A (e.g.,
1200 ns at Fast-160);
2. keep the P1, and DB(15-0) signals negated while continuing to assert and negate ACK at the negoti-
ated transfer period for the equivalent of 8 transfer periods (e.g., 50 ns at Fast-160);
3. keep the P1, DB(15-0), and ACK signals negated for the equivalent of 8 additional transfer periods;
4. simultaneously assert and negate PA and DB(15-0) signals at twice the negotiated transfer period (i.e.,
simultaneously repeat a 1100b bit pattern 12 times on each signal) while asserting and negating ACK
at the negotiated transfer period 24 times (e.g., (2 x 6.25) x 24 = 300 ns at Fast-160);
Start of section C:
1. assert and negate ACK at the negotiated transfer period 64 times and at the same time assert and
negate P1 at twice the negotiated transfer period while repeating a 0000010011111011b bit pattern
eight times on each of the DB(15-0) signals (e.g., 2 x 6.25 ns) x 64 = 800 ns at Fast-160).
At the completion of its training pattern, the SCSI initiator port continues asserting and negating the ACK signal
at the negotiated transfer period (e.g., 6.25 ns transfer period at Fast-160) and the P1 signal at twice the nego-
tiated transfer period (e.g., 12.5 ns transfer period at Fast-160). When the SCSI initiator port is ready to trans-
fer data and the REQ/ACK offset value is not zero it shall reverse the phase of P1 (see Section 3.5.3.2 below).
3.5.3.2
P1 data valid/invalid state transitions
The transmitting SCSI device port shall indicate the start of a data valid state by reversing the phase of the P1
signal coincident with a REQ or ACK assertion. This is accomplished by withholding the next transition of P1 at
the start of the first two transfer periods of valid data. Beginning with the third valid data word, P1 shall be tog-
gled every two transfer periods, coincident with a REQ or ACK assertion. The minimum duration of the data
valid state is two transfer periods, and the data valid state shall consist of an even number of transfer periods.
Anytime the sending SCSI device port pauses the sending of data, it shall reverse the phase of P1 by withhold-
ing the next transition of P1 at the start of the first two transfer periods that have invalid data. Beginning with
the third transfer period with invalid data, P1 shall be toggled every two transfer periods until valid data is sent.
Parallel SCSI Interface Product Manual, Rev. A
71
Download from Www.Somanuals.com. All Manuals Search And Download.
The data invalid state shall have at least one transition of P1 before changing states. The minimum data invalid
time is four transfer periods. This ensures a maximum run length of three cycles for P1. The data invalid state
shall last an even number of transfer periods.
From the data invalid state, the sending SCSI device port may resume sending data by reversing the phase of
P1 again.
P1 has the same transmit setup and hold time requirements as data and shall always be detected by the
receiving device on the assertion edge of the delayed clocked REQ or ACK signal.
See Figure 10 for examples of how the P1 signal is used to determine when the REQ or ACK transition clocks
valid data.
DT Data In phase example
P1
REQ
OOOOOO
OOOOOO X X X X
OOOOOOOOOO X X X X X X X X X X X X
DT Data Out phase example
X X X X X X
P1
ACK
OOOOOO
OOOOOO X X X X
OOOOOOOOOO X X X X OOX X X X X X
X X X X X X
O - Data is valid on indicated transition
X - Data is invalid on indicated transition
Figure 10. Use of P1 to establish data valid and data invalid states
3.5.3.2.1
Starting pacing transfers at end of training pattern
3.5.3.2.2
Starting pacing transfers with no training pattern
Before starting the DT DATA IN phase, the SCSI target port shall wait at least two system deskew delays after
the SEL signal is negated before the first assertion of the REQ signal.
The DT DATA IN phase without training starts on the first assertion of REQ if the SEL is not asserted.
The SCSI target port shall begin pacing transfers only after meeting all the following:
• the signal restrictions between a RESELECTION phase and a DT DATA IN phase listed in Section 3.3.2; or
• the signal restrictions between a SELECTION phase and a DT DATA OUT phase listed in Section 3.2.1.2.
The SCSI target port shall begin pacing transfers by:
• simultaneously with the assertion of REQ, the SCSI target port shall begin asserting and negating P1 at
twice the negotiated transfer period (e.g., 12.5 ns for Fast-160);
• SCSI target port shall assert and negate P1 at least 8 times [e.g., (2 x 6.25 ns) x 8 = 100 ns at Fast-160]; and
The DT DATA OUT phase without training starts on the first assertion of REQ if the SEL is not asserted.
72
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The SCSI target port shall begin pacing transfers only after meeting all the following:
• the signal restrictions between a RESELECTION phase and a DT DATA IN phase listed in Section 3.3.2; or
• the signal restrictions between a SELECTION phase and a DT DATA OUT phase listed in Section 3.2.1.2.
The SCSI initiator port shall begin pacing transfers by:
• simultaneously with the assertion of ACK the SCSI initiator port shall begin asserting and negating P1 at
twice the negotiated transfer period (e.g., 12.5 ns for Fast-160);
• SCSI initiator port shall assert and negate P1 at least 8 times (e.g., (2 x 6.25 ns) x 8 = =100 ns at Fast-160);
and
3.5.3.2.3
Ending pacing transfers
After transmitting the last data word of a DT DATA IN phase, the SCSI target port shall end pacing by waiting
for all REQs to be responded to by ACKs then negate the REQ and P1 signals. After the SCSI target port stops
asserting and negating REQ, it shall not assert REQ again until the requirements in Section 3.10 are met.
After transmitting the last data word of a DT DATA OUT phase, the SCSI initiator port shall:
• continue asserting and negating the ACK and P1 signals until it detects a change to the C/D, I/O, or MSG
signals; and
• negate the ACK and P1 signals within 200 ns of detecting a change to the C/D, I/O, or MSG signals.
When the SCSI target port changes from a DT DATA OUT phase to any other phase it shall wait at least a bus
settle delay plus a data release delay before asserting REQ and shall ignore any ACK transitions for at least a
bus settle delay plus a data release delay after transitioning the C/D, I/O, or MSG signals.
3.5.3.3
Paced information unit transfer
Information units shall be transferred on the DT DATA OUT phase and the DT DATA IN phase, and the infor-
mation units’ embedded iuCRC shall be used to detect information unit data errors.
If the I/O signal is true (i.e., transfer to the SCSI initiator port) and the phase of the P1 signal indicates data is
valid, to transfer SPI information units the SCSI target port:
(a) shall drive the DB(15-0) signals to their values simultaneous with the next REQ signal assertion;
(b) shall hold the DB(15-0) signals valid for a minimum of one transmit hold time;
(c) shall drive the DB(15-0) signals to their values simultaneous with the next REQ signal negation;
and
(d) shall hold the DB(15-0) signals valid for a minimum of one transmit hold time.
If the I/O signal is true (i.e., transfer to the SCSI initiator port), to receive SPI information units the SCSI initiator
port shall:
(a) read the value on the DB(15-0) signals within one receive hold time of the transition of the REQ
signal; and
(b) respond with an ACK signal assertion after each REQ assertion/negation pair.
If the I/O signal is false (i.e., transfer to the SCSI target port) and the phase of the P1 signal indicates data is
valid, to transfer SPI information units the SCSI initiator port:
(a) shall wait until detecting a REQ assertion;
(b) shall drive the DB(15-0) signals to their values simultaneous with the next ACk signal assertion;
(c) shall hold the DB(15-0) signals valid for a minimum of one transmit hold time;
(d) shall drive the DB(15-0) signals to their values simultaneous with the next ACK signal negation;
Parallel SCSI Interface Product Manual, Rev. A
73
Download from Www.Somanuals.com. All Manuals Search And Download.
and
(e) shall hold the DB(15-0) signals valid for a minimum of one transmit hold time.
If the I/O signal is false (i.e., transfer to the SCSI target port), to receive SPI information units the SCSI target
port:
(a) shall read the value of the DB(15-0 signals within one receive hold time of the transition of the ACK
signal.
If write flow control is enabled and the current SPI data stream information unit is the last SPI data stream infor-
mation unit of the stream:
(a) the SCSI target port shall assert the P_CRCA signal a minimum of a flow control transmit setup
time before the end of the last information unit and shall keep the P_CRCA signal asserted for a flow
control transmit hold time;
(b) the SCSI target port shall not assert the P_CRCA signal until a minimum of a flow control hold time
after the end of the previous information unit; and
(c) the SCSI target port shall negate the P_CRCA signal a minimum of a flow control transmit setup
time before the start of the next information unit.
Note. The earlier in a SPI data stream information unit that the SCSI target port asserts the P_CRCA signal,
the better the SCSI initiator port may manage data pre-fetch.
As a result of a SPI information unit always being an even number of transfers, the REQ and ACK signals are
negated both before and after the transmission of the SPI information unit.
Paced information unit transfers exception handling conditions are defined in Section 3.5.2.2.1.1 and Section
3.5.3.4
Deskewing
The deskewing technique used in the receiving SCSI device is vendor specific. Any technique that works with
the specified training pattern and complies with the specified receive skew compensation timing requirement is
allowed. Deskewing shall only be enabled for paced transfers.
3.5.4
Wide transfer
Wide data transfers shall be used for DT DATA phases. Wide data transfer may be used in the ST DATA phase
All SCSI devices shall support 8-bit narrow data transfers.
During narrow transfers, all information shall be transferred in bytes across the DB(7-0) and DB(P_CRCA) sig-
nals on the SCSI bus. At the receiving device the DB(15-8) (if present) and DB(P1) (if present) signals are
undefined.
During wide transfers, the first and second information bytes for each DATA phase shall be transferred across
the DB(7-0) and DB(15-8) signals, respectively, on the SCSI bus. Subsequent pairs of information bytes are
likewise transferred in parallel across the SCSI bus (see Table 22).
The IGNORE WIDE RESIDUE message may be used to indicate that the last byte of a data field or the last
data byte of information unit is undefined.
74
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 22: Wide SCSI byte order
SCSI bus
Data
transfer
width
Transfer
number
15....8
7....0
1
2
3
4
1
2
N/A
N/A
N/A
N/A
X
W
X
8-bit
Y
Z
W
Y
16-bit
Z
When transferring consecutive bytes W, X, Y, and Z across the buses, they are
transferred as shown above.
This table does not necessarily represent how these bytes are stored in device
memory.
If the last information byte transferred does not fall on the DB(15-8) signals for a 16-bit wide transfer, then the
values of the remaining higher-numbered bits are undefined. However, when using parity protection, the
DB(P1) signal for this undefined byte shall be valid for whatever data is placed on the bus.
3.6
COMMAND phase
3.6.1
COMMAND phase description
The COMMAND phase allows the target to request command information from the initiator.
The SCSI target port shall assert the C/D signal and negate the I/O and MSG signals during the REQ/ACK
handshakes of this phase.
A QAS-capable initiator shall wait a minimum of a QAS non-data phase REQ(ACK) period to assert ACK after
detecting the assertion of REQ.
A QAS-capable initiator shall assert ACK for a minimum of a QAS non-data phase REQ(ACK) period and shall
keep the command data valid until the negation of ACK.
3.6.2
COMMAND phase exception condition handling
If the target detects one or more parity errors on the command bytes received, it may retry the command by
switching to the MESSAGE IN phase and sending a RESTORE POINTERS message. The target shall then
switch to the COMMAND phase to receive the original command.
If the target does not retry the COMMAND phase or it exhausts its retry limit it shall return CHECK CONDITION
status and set the sense key to Aborted Command and the additional sense code to SCSI Parity Error.
3.7
DATA phase
3.7.1
DATA phase overview
DATA phase is a term that encompasses both the ST DATA phases and the DT DATA phases. ST DATA phase
is a term that encompasses both the ST DATA IN phase and ST DATA OUT phase. DT DATA phase is a term
that encompasses both the DT DATA IN phase, and the DT DATA OUT phase.
3.7.2
DT DATA IN phase
The DT DATA IN phase allows the target to request that data be sent to the initiator from the target using DT
data transfers. The target shall assert the I/O and MSG signals and negate the C/D signal during the REQ/ACK
handshakes of this phase.
Parallel SCSI Interface Product Manual, Rev. A
75
Download from Www.Somanuals.com. All Manuals Search And Download.
3.7.3
DT DATA OUT phase
The DT DATA OUT phase allows the SCSI target port to request that data be sent from the SCSI initiator
device to the SCSI target device using DT data transfers. The target shall assert the MSG signal and negate
the C/D and I/O signals during the REQ/ACK handshakes of this phase.
3.7.4
ST DATA IN phase
The ST DATA IN phase allows the SCSI target port to request that data be sent to the initiator from the target
using ST data transfers. The target shall assert the I/O signal and negate the C/D and MSG signals during the
REQ/ACK handshake(s) of this phase.
3.7.5
ST DATA OUT phase
The ST DATA OUT phase allows the SCSI target device to request that data be sent from the SCSI initiator
device to the target device using ST data transfers. The SCSI target port shall negate the C/D, I/O, and MSG
signals during the REQ/ACK handshakes of this phase.
3.8
STATUS phase
3.8.1
STATUS phase description
The STATUS phase allows the SCSI target device to request that a status byte be sent from the target to the
SCSI initiator device.
The SCSI target port shall assert the C/D and I/O signals and negate the MSG signal during the REQ/ACK
handshake of this phase.
A QAS-capable SCSI initiator port shall wait a minimum of one QAS non-data phase REQ(ACK) period to
assert ACK after detecting the assertion of REQ.
A QAS-capable SCSI initiator port shall assert ACK for a minimum of one QAS non-data phase REQ(ACK)
period.
3.8.2
STATUS phase exception condition handling
If the initiator detects a parity error on the status byte, the initiator shall create an attention condition. When the
target switches to a MESSAGE OUT phase, the initiator should send a SCSI initiator port Detected Error mes-
sage (see Section 4.3.5) to the target. This message notifies the target that the Status byte was invalid.
3.9
MESSAGE phase
3.9.1
MESSAGE phase overview
The MESSAGE phase is a term that references either a MESSAGE IN or a MESSAGE OUT phase. Multiple
messages may be sent during either phase. The first byte transferred in either of these phases shall be either
a single-byte message or the first byte of a multiple-byte message. Multiple-byte messages shall be wholly
contained within a single MESSAGE phase.
3.9.2
MESSAGE IN phase
The MESSAGE IN phase allows the SCSI target port to request that messages be sent to the SCSI initiator
port from the SCSI target port.
The SCSI target port shall assert the C/D, I/O, and MSG signals during the REQ/ACK handshakes of this
phase.
A QAS-capable SCSI initiator port shall wait a minimum of one QAS non-data phase REQ(ACK) period to
assert ACK after detecting the assertion of REQ.
76
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
A QAS-capable SCSI initiator port shall assert ACK for a minimum of one QAS non-data phase REQ(ACK)
period.
3.9.2.1
MESSAGE IN phase exception condition handling
If the SCSI initiator port detects a parity error on any message byte it receives, the SCSI initiator port shall cre-
ate an attention condition. When the SCSI target port switches to a MESSAGE OUT phase, the SCSI initiator
port shall send a MESSAGE PARITY ERROR message (see Section 4.3.7) to the SCSI target port. This mes-
sage notifies the SCSI target port that the MESSAGE IN byte was invalid.
3.9.3
MESSAGE OUT phase
The MESSAGE OUT phase allows the SCSI target port to request that message(s) be sent from the initiator to
the target. The target invokes this phase in response to the attention condition created by the initiator (see Sec-
The target shall assert the C/D and MSG signals and negate the I/O signal during the REQ/ACK handshakes
of this phase. The target shall handshake bytes in this phase until the attention condition is cleared, except
when rejecting a message.
A QAS-capable initiator shall wait a minimum of one QAS non-data phase REQ(ACK) period to assert ACK
after detecting the assertion of REQ.
A QAS-capable initiator shall assert ACK for a minimum of one QAS non-data phase REQ(ACK) period and
shall keep the message data valid until the negation of ACK.
If the target receives all of the message bytes successfully (i.e. no parity errors), it shall indicate that no retry is
being attempted by changing to any information transfer phase other than the MESSAGE OUT phase and
transferring at least one byte. The target may also indicate that it has successfully received the message bytes
by changing to the BUS FREE phase (e.g., after receiving ABORT TASK SET or TARGET RESET messages).
3.9.3.1
MESSAGE OUT phase exception condition handling
If the target detects one or more parity errors on the message bytes received, it may request a retry of the mes-
sages by asserting the REQ signal after detecting the attention condition has been cleared and prior to chang-
ing to any other phase. The initiator, upon detecting this condition, shall resend all of the previous message
bytes in the same order as previously sent during this phase. When resending more than one message byte,
If the target does not retry the MESSAGE OUT phase or it exhausts its retry limit, it may:
a. return CHECK CONDITION status and set the sense key to Aborted Command and the additional sense
code to Message Error; or
b. indicate a protocol error by performing an unexpected bus free.
The target may act on messages as received as long as no parity error is detected and may ignore all remain-
ing messages sent under one attention condition after a parity error is detected. When a sequence of mes-
sages is resent by a SCSI initiator port because of a SCSI target port detected parity error, the target shall not
act on any message that it acted on the first time received.
3.10
Signal restrictions between phases
When the SCSI bus is between two information transfer phases, the following restrictions shall apply to the
SCSI bus signals:
a. The BSY, SEL, and ACK signals shall not change.
b. The REQ signal shall not change until it is asserted to qualify the start of a new phase.
c. The C/D, I/O, MSG, Data Bus, and DB(P_CRCA) signals may change.
Parallel SCSI Interface Product Manual, Rev. A
77
Download from Www.Somanuals.com. All Manuals Search And Download.
d. When switching the Data Bus or DB(P_CRCA) signal direction from out (SCSI initiator port driving) to in
(SCSI target port driving), the target shall delay driving the Data Bus, DB(P_CRCA), and/or DB(P1) by at
least one data release delay plus one bus settle delay after asserting the I/O signal, and the initiator shall
release the Data Bus, DB(P_CRCA), and/or DB(P1) no later than one data release delay after the transition
of the I/O signal to true. When switching the Data Bus, DB(P_CRCA), and/or DB(P1) direction from in (tar-
get driving) to out (initiator driving), the target shall release the Data Bus, DB(P_CRCA), and/or DB(P1) no
later than one system deskew delay after negating the I/O signal. The initiator shall assert the Data Bus,
DB(P_CRCA), and/or DB(P1) no sooner than one system deskew delay after the detection of the negation
of the I/O signal.
e. The DB(P_CRCA) signal direction may switch direction while the Data Bus and/or DB(P1) does not (e.g.,
changing from COMMAND phase to DT DATA OUT phase). When switching the DB(P_CRCA) signal direc-
tion from out (initiator driving) to in (target driving), the target shall delay driving the DB(P_CRCA) by at
least one data release delay plus one bus settle delay after negating the C/D signal and the initiator shall
release the DB(P_CRCA) signal no later than one data release delay after the transition of the C/D signal to
false. When switching the DB(P_CRCA) signal direction from in (target driving) to out (initiator driving), the
target shall release the DB(P_CRCA) signal no later than one system deskew delay after asserting the C/D
signal. The initiator shall negate the DB(P_CRCA) signal no sooner than one system deskew delay after the
detection of the assertion of the C/D signal.
f. The ATN and RST signals may change as defined under the descriptions for the attention condition (see
3.11
SCSI bus phase sequences
3.11.1
SCSI bus phase sequences overview
The order in which phases are used on the SCSI bus follows a prescribed sequence.
During DT DATA phases, the target shall not change phases except at data group boundaries or SPI informa-
tion unit boundaries. If a SCSI initiator port detects a phase change within a data group or information unit, it
shall consider any data transferred for that data group or information unit to have been transferred incorrectly.
The SCSI initiator port shall consider this condition a protocol error and respond accordingly.
A hard reset aborts any phase and is always followed by the BUS FREE phase. Also, any phase may be fol-
lowed by the BUS FREE phase, but many such instances are exception conditions for SCSI initiator ports (see
3.11.2
Phase sequences for physical reconnection and selection using attention condition with
information unit transfers disabled
The allowable sequences for either physical reconnection or selection using attention condition while an infor-
mation unit transfer agreement is not in effect shall be as shown in Figure 11. The normal progression for
1. from the BUS FREE phase to ARBITRATION;
2. from ARBITRATION to SELECTION or RESELECTION; and
3. from SELECTION or RESELECTION to one or more of the information transfer phases (i.e., COMMAND,
DATA, STATUS, or MESSAGE).
78
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The final information transfer phase is normally the MESSAGE IN phase where a DISCONNECT or TASK
COMPLETE message is transferred, followed by the BUS FREE phase.
Hard reset
or protocol
error
MESSAGE OUT
SELECTION
ARBITRATION
RESELECTION
COMMAND
DATA
BUS FREE
STATUS
MESSAGE IN
Figure 11. Phase sequences for physical reconnection and selection using attention condition with information
unit transfers disabled
3.11.3
Phase sequences for selection without using attention condition with information unit
transfers disabled
The allowable sequences for either physical reconnection or selection using attention condition while an infor-
1. from the BUS FREE phase to ARBITRATION;
2. from ARBITRATION to SELECTION;
3. from SELECTION to COMMAND phase;
4. from COMMAND phase to DATA phase;
5. from DATA phase to STATUS phase;
6. from STATUS phase to MESSAGE IN phase where a TASK COMPLETE message is transferred; and
7. from MESSAGE IN to BUS FREE phase.
Hard reset
or protocol
error
COMMAND
(note)
SELECTION
DATA
BUS FREE
ARBITRATION
STATUS
MESSAGE IN
MESSAGE OUT
Figure 12. Phase sequences for selection without using attention condition with information unit transfers
disabled
Parallel SCSI Interface Product Manual, Rev. A
79
Download from Www.Somanuals.com. All Manuals Search And Download.
3.11.4
Phase sequences for physical reconnection or selection without using attention condition
with information unit transfers enabled
The sequences for physical reconnection or selection without using attention condition while an information
The normal progression for selection without using attention condition (see Section 3.2.1.1.3) if QAS is dis-
abled is:
1. from the BUS FREE phase to ARBITRATION;
2. from ARBITRATION to SELECTION or RESELECTION;
3. from SELECTION or RESELECTION to one or more DT DATA phases; and
4. from the final DT DATA phase to BUS FREE.
SELECTION
RESELECTION
DT DATA [1]
MESSAGE OUT
MESSAGE IN
ARBITRATION
BUS FREE
Hard reset
or protocol
error
Figure 13. Phase sequences for physical reconnection or selection without using attention condition/ with
information unit transfers enabled
80
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
3.11.5
Phase sequences for physical selection using attention condition with information unit
transfers enabled
The sequences for a selection with attention condition while an information unit transfer agreement is in effect
The normal progression for selection using attention condition (see Section 3.2.1.1.3) if QAS is disabled is:
1. from the BUS FREE phase to ARBITRATION;
2. from ARBITRATION to SELECTION;
3. from SELECTION to MESSAGE OUT;
4. from MESSAGE OUT to MESSAGE IN; and
5. from MESSAGE IN to BUS FREE.
SELECTION
MESSAGE OUT
MESSAGE IN
ARBITRATION
BUS FREE
Hard reset
or protocol
error
Figure 14. Phase sequences for selection with attention condition/physical reconnection and information unit
transfers enabled
3.12
Data bus protection
3.12.1
Data bus protection overview
The data bus DB(P_CRCA) signal and the DB(P1) signals are used to generate parity or control the transfer of
pCRC information on the Data Bus.
3.12.2
ST data bus protection using parity
For ARBITRATION phase the DB(P_CRCA) and DB(P1) signals shall not be checked for parity errors. For
SELECTION and RESELECTION phases, valid parity is determined by the rules in Table 23.
Table 23: Parity checking rules for SELECTION and RESELECTION phases
Action
Condition
Check for odd parity on:
If at least one bit is active on:
DB(7-0,P_CRCA)
DB(15-8,P1)
DB(15-0,P_CRCA,P1)
DB(15-8,P1)
Note. These rules are necessary to permit interoperation of SCSI devices with different Data Bus widths. For
example, if an 8-bit SCSI device selects a 16-bit SCSI device, the 16-bit SCSI device observes invalid
parity on the upper 8 bits of the Data Bus.
Parallel SCSI Interface Product Manual, Rev. A
81
Download from Www.Somanuals.com. All Manuals Search And Download.
For COMMAND, MESSAGE, and STATUS phases, the DB(P_CRCA) signal shall indicate odd parity for DB(7-
0). The DB(P1) signal shall not be checked.
For ST DATA phases, the DB(P_CRCA) signal shall indicate odd parity for DB(7-0). If 8-bit transfers are
enabled, the DB(P1) signal shall not be checked. If 16-bit data transfers are enabled, the DB(P1) signal shall
indicate odd parity for DB(15-8). If 16-bit transfers are enabled and the last information byte transferred does
not fall on the DB(15-8) signals, DB(P1) shall be valid for whatever data is placed on the bus.
Parity protection is not enabled during DT DATA phases.
3.12.3
DT data bus protection using CRC
3.12.3.1
DT data bus protection using CRC overview
When pCRC protection or iuCRC protection are enabled, the error detecting code is a 32-bit (four byte) Cyclic
Redundancy Check (CRC), referred to as CRC-32. It is also used by several other device I/O standards. Four
CRC bytes are transferred with data to increase the reliability of data transfers.
3.12.3.2
Error detection capabilities
The CRC detects all single bit errors, any two bits in error, or any combination of errors within a single 32-bit
range.
3.12.3.3
Order of bytes in the CRC field
Figure 74 of ANSI SCSI Parallel Interface (SPI-5), T10/1525D, shows how transmitted data is used to calculate
the CRC and how the CRC information is then transmitted.
82
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4.0
Message system specification
SCSI protocol messages allow communication between a SCSI initiator port and a SCSI target port for the pur-
pose of link management. The link management messages used for this purpose are defined within this stan-
dard and their use is confined to this standard. Other SCSI protocol messages allow communication between
the application client and the task manager for the purpose of task management. The task management func-
tions are defined in the SCSI Architecture Model-4 standard. Messages that convey the task management
functions are defined by this manual.
4.1
General message protocols and formats
One or more messages may be sent during a single MESSAGE phase, but a message shall not be split
between multiple message phases.
If an information unit agreement is not in effect, the first message sent by the SCSI initiator port after a suc-
cessful SELECTION phase with an attention condition shall be an IDENTIFY, ABORT TASK SET (see Section
4.5.3), or TARGET RESET message. If a SCSI target port receives any other message, it shall cause an unex-
If the first message is an IDENTIFY message, it may be followed by other messages, such as the first of a pair
of SYNCHRONOUS DATA TRANSFER REQUEST messages. With tagged queuing, a task attribute shall fol-
low the IDENTIFY message, then more messages may follow. The IDENTIFY message establishes a logical
connection between the SCSI initiator port and the specified logical unit within the SCSI target device known
as an I_T_L nexus.
If an information unit agreement is not in effect, after the RESELECTION phase the SCSI target port’s first
message shall be IDENTIFY. This allows the I_T_L nexus to be re-established. Only one logical unit shall be
identified for any physical connection or physical reconnection; if a SCSI target port receives a second IDEN-
TIFY message with a different logical unit number during a physical connection or physical reconnection, it
If an information unit agreement is in effect, the SCSI target port enters a DT DATA phase after the RESELEC-
All SCSI initiator ports shall implement the mandatory messages tabulated in the “Initiator” column of tables 27,
40, and 45. All SCSI target ports shall implement the mandatory messages tabulated in the “Target” column of
tables 27, 40, and 45.
Whenever an I_T_L nexus is established by a SCSI initiator port that is allowing physical disconnection, the ini-
tiator shall ensure that the active pointers are equal to the saved pointers for that particular logical unit. An
implied restore pointers operation shall occur as a result of a RESELECTION phase or a successful receipt of
a SPI L_Q information unit.
4.2
Message formats
One-byte, two-byte, and extended message formats are defined. The first byte of the message determines the
format as defined in Table 24.
Parallel SCSI Interface Product Manual, Rev. A
83
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 24: Message format
Message code
Message format
00h
One-byte message (TASK COMPLETE)
Extended messages
01h
02h–0Ah
0Bh
One-byte messages
Obsolete one-byte messages
One-byte messages
0Ch–0Eh
0Fh–10h
11h–13h
14h–15h
16h–17h
20h–24h
25h–2Fh
30h–54h
55h
Reserved one-byte messages
Obsolete one-byte messages
Reserved one-byte messages
One-byte messages
Two-byte messages
Reserved two-byte messages
Reserved
One-byte message
56–7Fh
80h–FFh
Reserved
One-byte message (IDENTIFY)
4.2.1
One-byte messages
One-byte messages consist of a single byte transferred during a MESSAGE phase. The byte’s message code
determines the message to be performed as defined in Tables 27, 40, and 45. The IDENTIFY message is a
one-byte code, but its format is different.
4.2.2
Two-byte messages
Two-byte messages consist of two consecutive bytes transferred during a MESSAGE IN phase or a MES-
SAGE OUT phase. The value of the first byte determines the message to be performed as defined in Tables
27, 40, and 45. The second byte is a parameter byte used as defined in the message descriptions.
4.2.3
Extended messages
A value of 01h in the first byte of a message indicates the beginning of a multiple-byte extended message. The
minimum number of bytes sent for an extended message is three. All of the extended message bytes shall be
transferred in consecutive MESSAGE IN phases or consecutive MESSAGE OUT phases. See sections refer-
enced in Table 26 for details of the extended messages.
Table 25: Extended message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
EXTENDED MESSAGE (01h)
EXTENDED MESSAGE LENGTH (n–1) [1]
EXTENDED MESSAGE CODE [2]
2
3-n
EXTENDED MESSAGE ARGUMENTS [3]
1. The EXTENDED MESSAGE LENGTH field specifies the length in bytes of the Extended Message
Code plus the extended message arguments to follow. The total length of the message is equal to the
EXTENDED MESSAGE LENGTH plus two. A value of zero in the EXTENDED MESSAGE LENGTH
field indicates 256 bytes follow.
2. The extended message codes are listed in Table 26.
84
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 26: Extended Message Codes
Code
00h
Extended message
MODIFY DATA POINTERS
01h
02h
03h
04h
05h
SYNCHRONOUS DATA TRANSFER REQUEST
Reserved
WIDE DATA TRANSFER REQUEST
PARALLEL PROTOCOL REQUEST
MODIFY BIDIRECTIONAL DATA POINTER
06h - FFh Reserved
1. The EXTENDED MESSAGE ARGUMENTS are specified within the Extended Message Descriptions
in Paragraphs referenced in Table 27.
4.3
Message categories
The messages supported by the various drives are divided up into categories and listed in tables in the follow-
ing subsections. The individual drive’s Product Manual. Table 27 lists messages that are supported by the par-
ticular drive. In the tables, the message code values are given a direction specification (In-Out). Detailed
descriptions follow the tables. Messages other than those supported by a drive are answered by the drive with
a MESSAGE REJECT message.
4.3.1
LINK CONTROL MESSAGES
Table 27: Link Control message codes
Support
IU transfers
disabled
IU transfers
enabled
Clear
attention
Out condition
Direction
Reference
section
Code
04h
Init
Targ
Init
Targ
Message name
In
In
O
M
O
O
O
O
DISCONNECT
IDENTIFY
Out
Yes
N/A
80h+
80h+
23h
NS
NS
In
Not
required
IDENTIFY
M
O
M
M
O
M
NS
NS
M
NS
NS
M
Out
IGNORE WIDE RESIDUE
In
N/A
INITIATOR DETECTED
ERROR
05h
Out
Yes
LINKED COMMAND
COMPLETE
0Ah
09h
O
M
O
M
NS
M
NS
M
In
N/A
Yes
MESSAGE PARITY
ERROR
Out
Out
07h
M
O
M
O
M
O
M
O
MESSAGE REJECT
In
In
Yes
N/A
01h,05h,00h
MODIFY DATA POINTER
MODIFY BIDIREC-
TIONAL DATA POINTER
01h,09h,05h
08h
O
M
M
O
M
M
O
M
M
O
M
M
In
N/A
Yes
Yes
NO OPERATION
Out
Out
PARALLEL PROTOCOL
REQUEST
01h,06h,04h
In
Parallel SCSI Interface Product Manual, Rev. A
85
Download from Www.Somanuals.com. All Manuals Search And Download.
Support
IU transfers
disabled
IU transfers
enabled
Clear
attention
condition
Direction
Reference
section
Code
55h
Init
Targ
Init
Targ
Message name
In
In
Out
NS
O
O
O
O
O
O
O
O
QAS REQUEST
N/A
N/A
N/A
03h
02h
RESTORE POINTERS
SAVE DATA POINTER
In
In
O
NS
NS
SYNCHRONOUS DATA
TRANSFER REQUEST
01h,03h,01h
00h
O
M
O
O
M
O
M
NS
M
M
NS
M
In
In
In
Out
Out
Yes
N/A
Yes
TASK COMPLETE
WIDE DATA TRANSFER
REQUEST
01h,02h,03h
Key:
M = Mandatory support
IN = SCSI target port to SCSI initiator port OUT = SCSI Initiator port to SCSI target port
O = Optional support
NS = Not supported
Yes = SCSI Initiator port shall clear the attention condition before last ACK of the Message Out phase.
Not required = SCSI Initiator port may or may not clear the attention condition before last ACK of the MES-
N/A = Not applicable
Init = SCSI initiator port Targ = SCSI target port
80h+ = Codes 80h through FFh are used for IDENTIFY messages
Note. The clear attention condition only applies during MESSAGE OUT phase.
86
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4.3.2
DISCONNECT
The DISCONNECT message is sent from a SCSI target port to inform an initiator that the target plans to do a
physical disconnect by releasing the BSY signal, and that a later physical reconnect is going to be required in
order to complete the current task. This message shall not cause the initiator to save the data pointer.
The target shall consider the message transmission to be successful when there is no attention condition on
the DISCONNECT message.
After successfully sending this message, the target shall go to the BUS FREE phase by releasing the BSY sig-
nal.
If an information unit transfer agreement is not in effect, any SCSI target port that breaks data transfers into
one or more physical reconnections shall end each successful data transfer (except possibly the last) with a
SAVE DATA POINTER—DISSCONNECT message sequence.
If an information unit transfer agreement is in effect, SCSI target ports shall not transmit a DISCONNECT mes-
sage.
This message may also be sent from an initiator to a target to instruct the target to do a physical disconnect. If
this option is enabled and a DISCONNECT message is received, the target shall either:
a. if an information unit transfer agreement is not in effect—switch to MESSAGE IN phase, send the DISCON-
NECT message to the initiator (possibly preceded by SAVE DATA POINTER message), and then do a
physical disconnect by releasing BSY; or
b. if an information unit transfer agreement is in effect, regardless of the QAS mode—do a physical disconnect
by releasing BSY.
After releasing the BSY signal, the target shall not participate in another ARBITRATION phase for at least a
disconnection delay or the time limit specified in the Physical Disconnect Time Limit mode parameter (see
Seagate SCSI Command Reference Manual, Part number 100293068.) whichever is greater. If this option is
disabled or the target is not able to do a physical disconnect at the time when it receives the DISCONNECT
message from the initiator, the target shall respond by sending a MESSAGE REJECT message to the initiator.
4.3.3
IDENTIFY
The IDENTIFY message (see Table 28) is sent by either the initiator or the target to establish an I_T_L nexus
when information unit transfers are disabled.
Table 28: IDENTIFY message format
Bit
Byte
7
6
5
4
3
2
1
0
0
IDENTIFY
DISCPRIV
LUN
The IDENTIFY bit shall be set to one to specify that this is an IDENTIFY message.
A DISCONNECT PRIVILEGE (DISCPRIV) bit of one specifies that the initiator has granted the target the privi-
lege of doing physical disconnects. A DISCPRIV bit of zero specifies that the target shall not do physical dis-
connects. This bit is not defined and shall be set to zero when an IDENTIFY message is sent by a target.
The target shall generate a BUSY status (see Section 3.8) for a task not granting a physical disconnect privi-
lege (DISCPRIV bit set to zero) in the IDENTIFY message if:
a. there are any pending tasks, and
b. the target determines that a physical reconnection of one or more pending tasks is required before the
current task may be completed.
The LUN field specifies a logical unit number.
Parallel SCSI Interface Product Manual, Rev. A
87
Download from Www.Somanuals.com. All Manuals Search And Download.
Only one logical unit number shall be identified per task. The initiator may send one or more IDENTIFY mes-
sages during a task. A second IDENTIFY message with a different value in the LUN field shall not be issued
before a BUS FREE phase; if a target receives a second IDENTIFY message with a different value in this field,
it shall cause an unexpected bus free (see Section 3.1.1.1) by generating a BUS FREE phase. Thus an initia-
tor may change the DISCPRIV bit, but shall not attempt to switch to another task. (See the DTDC field of the
physical disconnect/reconnect mode page in Seagate SCSI Command Reference Manual, Part number
100293068 for additional controls over physical disconnection.)
An implied RESTORE POINTERS message shall be performed by the initiator following successful identifica-
tion of the nexus during the MESSAGE IN phase of a physical reconnection or a successful receipt of a SPI
L_Q information unit.
Identification is considered successful during an initial connection or an initiator’s physical reconnect when the
target detects no error during the transfer of the IDENTIFY message and an optional task attribute message in
TIFY and TASK ATTRIBUTE messages. See Section 3.9.3.1 for handling target detected errors during the
MESSAGE OUT phase.
Identification is considered successful during a target’s physical reconnect when there is no attention condition
on either the IDENTIFY message or the simple message for an I_T_L_Q nexus in the MESSAGE IN phase fol-
4.3.4
IGNORE WIDE RESIDUE
The IGNORE WIDE RESIDUE message (see Table 29) shall be sent from a target to indicate that the number
of valid bytes sent in the last REQ/ACK handshake data of a DATA IN phase is less than the negotiated trans-
fer width. When information unit transfers are disabled, the IGNORE WIDE RESIDUE message shall be sent
following that DATA IN phase and prior to any other messages.
If the residual byte contains valid data, then the IGNORE WIDE RESIDUE message should not be sent.
Table 29: IGNORE WIDE RESIDUE message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
MESSAGE CODE (23H)
NUMBER OF BYTES TO IGNORE (01H)
The NUMBER OF BYTES TO IGNORE field indicates the number of invalid data bytes transferred. See Table
30.
Note. More than one IGNORE WIDE RESIDUE message may occur during a task.
Table 30: Ignore field definition
Invalid data bits
Codes
Wide transfers
00h
01h
Reserved
DB(15-8)
Obsolete
Obsolete
Reserved
02h
03h
04h-FFh
88
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4.3.5
INITIATOR DETECTED ERROR
The INITIATOR DETECTED ERROR message is sent from an initiator to inform a target that an error has
occurred that does not preclude the target from retrying the task. The source of the error may either be related
to previous activities on the SCSI bus or may be internal to the initiator and unrelated to any previous SCSI bus
activity. Although the integrity of the currently active pointers is not assured, a RESTORE POINTERS message
or a physical disconnect followed by a reconnect shall cause the pointers to be restored to their defined prior
state.
4.3.6
LINKED COMMAND COMPLETE
The LINKED COMMAND COMPLETE message is sent from a target to an initiator to indicate that a linkied
command has completed and that status has been sent. The initiator shall then set the pointers to the initial
state for the next linked command.
4.3.7
MESSAGE PARITY ERROR
The MESSAGE PARITY ERROR message is sent from the initiator to the target to indicate that it received a
To indicate its intentions of sending this message, the initiator shall create an attention condition on the mes-
sage byte that has the parity error. This provides an interlock so that the target is able to determine which mes-
sage byte has the parity error. If the target receives this message under any other circumstance, it shall signal
a catastrophic error condition by going to a BUS FREE phase without any further information transfer attempt
If the target attempts a retry after receiving the MESSAGE PARITY ERROR message, the target shall return to
the MESSAGE IN phase before switching to some other phase, the target shall resend the entire message that
had the parity error.
4.3.8
MESSAGE REJECT
The MESSAGE REJECT message is sent from either the initiator or target to indicate that the last message or
message byte it received was inappropriate or has not been implemented.
To indicate its intentions of sending this message, the initiator shall create an attention condition on the mes-
sage byte that is to be rejected. If the target receives this message under any other circumstance, it shall reject
this message.
When a target sends this message, it shall change to MESSAGE IN phase and send this message prior to
requesting additional message bytes from the initiator. This provides an interlock so that the initiator is able to
determine which message byte is rejected.
After a target sends a MESSAGE REJECT message and if the attention condition is still set, then it shall return
to the MESSAGE OUT phase. The subsequent MESSAGE OUT phase shall begin with the first byte of a mes-
sage.
4.3.9
MODIFY DATA POINTER
The MODIFY DATA POINTER message (see Table 31) is sent from the target to the initiator and requests that
the signed argument be added to the value of the current data pointer using two's complement arithmetic. The
data pointer is the data-out or data-in pointer being used by the command. The ENABLE MODIFY DATA
POINTER (EMDP) bit in the Disconnect-reconnect mode page (see Seagate SCSI Command Reference Man-
ual, Part number 100293068) indicates whether or not the target is permitted to issue the MODIFY DATA
POINTER message. The target shall only issue the MODIFY DATA POINTER message during a unidirectional
command.
Parallel SCSI Interface Product Manual, Rev. A
89
Download from Www.Somanuals.com. All Manuals Search And Download.
It is recommended that the target not attempt to move the data pointer outside the range addressed by the
command. Initiators may or may not place further restrictions on the acceptable values. Should the target send
an Argument value that is not supported by the initiator, the initiator may reject the value by responding with the
MESSAGE REJECT message. In this case, the data pointer is not changed from its value prior to the rejected
MODIFY DATA POINTER message.
If an information unit transfer agreement is in effect the target shall not transmit a MODIFY DATA POINTER
message.
Table 31: MODIFY DATA POINTER message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
2
3
EXTENDED MESSAGE (01H)
EXTENDED MESSAGE LENGTH (05H)
MODIFY DATA POINTER (00H)
(MSB)
4
5
ARGUMENT
6
(LSB)
4.3.10
MODIFY BIDIRECTIONAL DATA POINTER
The MODIFY BIDIRECTIONAL DATA POINTER message (see Table 32) is sent from the target to the initiator
and requests that the signed data-out argument be added using two’s complement arithmetic to the value of
the current data-out pointer and signed data-in argument be added using two’s complement arithmetic to the
value of the current data-in pointer. The ENABLE MODIFY DATA POINTER (EMDP) bit in the Disconnect-
reconnect mode page indicates whether the target is permitted to issue the MODIFY BIDIRECTIONAL DATA
POINTER message. The target shall only issue the MODIFY BIDIRECTIONAL DATA POINTER message dur-
ing a bidirectional command.
It is recommended that the target not attempt to move the data-out pointer or the data-in pointer outside the
range addressed by the command. Initiators may or may not place further restrictions on the acceptable val-
ues. Should the target send a data-out argument or a data-in argument value that is not supported by the initi-
ator, the initiator may reject the value by responding with the MESSAGE REJECT message. In this case, both
the data-out pointer and the data-in pointer are not changed from their values prior to the rejected MODIFY
BIDIRECTIONAL DATA POINTER message.
If an information unit transfer agreement is in effect the target shall not transmit a MODIFY DATA POINTER
message.
90
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 32: MODIFY BIDIRECTIONAL DATA POINTER message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
2
3
EXTENDED MESSAGE (01H)
EXTENDED MESSAGE LENGTH (09H)
MODIFY BIDIRECTIONAL DATA POINTER (05H)
DATA--OUT ARGUMENT
(MSB)
(MSB)
4
5
6
7
(LSB)
(LSB)
8
9
DATA--IN ARGUMENT
10
4.3.11
NO OPERATION
The NO OPERATION message is sent from an initiator in response to a target’s request for a message when
the initiator does not currently have any other valid message to send.
For example, if the target does not respond to the attention condition until a later phase and at that time the
original message is no longer valid the initiator may send the NO OPERATION message when the target
switches to a MESSAGE OUT phase.
Parallel SCSI Interface Product Manual, Rev. A
91
Download from Www.Somanuals.com. All Manuals Search And Download.
4.3.12
PARALLEL PROTOCOL REQUEST
PARALLEL PROTOCOL REQUEST messages (see Table 33) are used to negotiate a synchronous data trans-
fer agreement, a wide data transfer agreement, and set the protocol options between two SCSI devices.
Table 33: PARALLEL PROTOCOL REQUEST message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
EXTENDED MESSAGE (01H)
EXTENDED MESSAGE LENGTH (06H)
PARALLEL PROTOCOL REQUEST (04H)
TRANSFER PERIOD FACTOR
RESERVED
2
3
4
5
REQ/ACK OFFEST
6
TRANSFER WIDTH EXPONENT (M)
7[1]
PCOMP
RTI
RD_STRM WR_FLOW HOLD_MCS QAS_REQ
DT_REQ
IU_REQ
TRANSFER PERIOD FACTOR
00h-007h
08h
Reserved. Faster timings may be allowed by future SCSI parallel interface standards.
Transfer period equals 6.25 ns. Fast-160 data is latched every 6.25 ns.
Transfer period equals 12.5 ns. Fast-80 data is latched every 12.5 ns.
Transfer period equals 25 ns. Fast-40 data is latched every 25 ns or 30.3 ns.
Transfer period equals 30.3 ns. Fast-40 data is latched every 25 ns or 30.3 ns.
09h
0Ah
0Bh
0Ch
Transfer period equals 50 ns. Fast-20 data is latched using a transfer period of less than or equal to 96 ns and
greater than or equal to 50 ns.
ODh - 18h Transfer period equals the period factor x 4. Fast-20 data is latched using a transfer period of less than or
equal to 96 ns and greater than orequal to 50 ns.
19h - 31h
Transfer period equals the period factor x 4. Fast-10 data is latched using a transfer period of less than or
equal to 196 ns and greater than or equal to 100 ns.
32h - FFh
Transfer period equals the period factor x 4. Fast-5 data is latched using a transfer period of less than
or equal 1,020 ns and greater than or equal to 200 ns.
REQ/ACK OFFSET
This field determines the maximum number of REQs allowed to be outstanding before a correesponding ACK
is received at the target during synchronous or paced transfers.
For ST synchronous transfers, the REQ/ACK OFFSET is the number of REQ transitions that may be sent by
the target in advance of the number of ACK transitions received from the initiator.
For paced transfers in DT DATA IN phase, the REQ/ACK OFFSET is the number of data valid state REQ
assertions that may be sent by the target in advance of ACK assertions received from the initiator.
For paced transfers in DT DATA OUT phase, the REQ/ACK OFFSET is the number of REQ assertions that
may be sent by the target in advance of the number of data valid state ACK assertions received from the initia-
tor.
92
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The REQ/ACK OFFSET value is chosen to prevent overflow conditions in the port’s receive buffer and offset
counter. The REQ/ACK OFFSET values and which timing values shall be selected are defined below.
Value
Description
Timing values
Specifies asynchronouse transfer agreement. The Transfer period
factor and protocol options other than QAS_REQ shall be ignored.
Asynch
00h
Synchronous or paced transfers with specified offset.
Determined by transfer period
factor.
01h-FEh
FFh
Synchronous or paced transfers with unlimited offset.
Determined by transfer period
factor.
TRANSFER WIDTH EXPONENT
This field defines the transfer width to be used during DATA IN phases, and DATA OUT phases. The transfer
width that is established applies to both SCSI devices.
Valid transfer widths are:
a. 8 bits (m=00h)
b. and 16 bits (m=01h) if all the protocol options bits are zero.
c. The only valid transfer width is 16 bits (m=01h) if any of the protocol options bits are one.
TRANSFER PERIOD EXPONENT field values greater than 01h are reserved.
If any of the protocol options bits (other than QAS_REQ) are set to one, then only wide transfer agreements
are valid. If all the protocol options bits other than QAS_REQ are set to zero, wide transfer agreements and
narrow transfer agreements are valid.
The protocol options bits (IU_REQ, DT_REQ, and QAS_REQ) are used by the initiator to indicate the protocol
options to be enabled. The target uses the protocol options bits to indicate to the initiator if the requested pro-
tocol options are enabled. The target shall not enable any options that were not enabled in the PPR message
received from the initiator.
An information units enable request bit (IU_REQ) of zero indicates that information unit transfers shall not be
used (i.e., data group transfers shall be enabled) when received from the initiator and that information unit
transfers are disabled when received from the target. An IU_REQ bit of one indicates that information unit
transfers shall be used when received from the initiator and that information unit transfers are enabled when
received from the target. If the IU_REQ bit is changed from the previous agreement (i.e., zero to one or one to
zero) as a result of a negotiation the target shall go to a BUS FREE phase on completion of the negotiation.
A DT enable request bit (DT_REQ) of zero indicates that DT DATA phases are to be disabled when received
from the initiator and that DT DATA phases are disabled when received from the target. A DT_REQ bit of one
indicates that DT DATA phases are to be enabled when received from the initiator and that DT DATA phases
are enabled when received from the target.
A QAS enable request bit (QAS_REQ) of zero indicates that QAS is to be disabled when received from the ini-
tiator and that QAS is disabled when received from the target. A QAS_REQ bit of one indicates that QAS is to
be enabled when received from the initiator and that QAS is enabled when received from the target.
Not all combinations of the protocol options bits are valid. Only the bit combinations defined in Table 34 shall
be allowed. All other combinations are reserved.
Parallel SCSI Interface Product Manual, Rev. A
93
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 34: Valid protocol options bit combinations
QAS_REQ
DT_REQ
IU_REQ
Description
0
0
0
0
1
1
0
0
1
Use ST DATA IN and ST DATA OUT phases to transfer data
Use DT DATA IN and DT DATA OUT phases with data group transfers
Use DT DATA IN and DT DATA OUT phases with information unit transfers
Use DT DATA IN and DT DATA OUT phases with information unit transfers and
use QAS for arbitration
1
1
1
A Parallel Protocol Request agreement applies to all logical units of the two SCSI devices that negotiated
agreement. That is, if SCSI device A, acting as an initiator, negotiates a data transfer agreement with SCSI
device B (a target), then the same data transfer agreement applies to SCSI devices A and B even if SCSI
device B changes to an initiator.
A data transfer agreement only applies to the two SCSI devices that negotiate the agreement. Separate data
transfer agreements are negotiated for each pair of SCSI devices. The data transfer agreement only applies to
DATA phases and information unit transfers.
A PARALLEL PROTOCOL REQUEST message exchange shall be initiated by an initiator whenever a previ-
ously arranged parallel protocol agreement may have become invalid. The agreement becomes invalid after
any condition that may leave the parallel protocol agreement in an indeterminate state such as:
a. after a hard reset;
b. after a TARGET RESET message;
c. after a power cycle; or
d. after a change in the transceiver mode (e.g., LVD mode to SE mode).
If a target determines that the agreement is in an indeterminate state, it shall initiate a negotiation to enter an
asynchronous eight-bit wide data transfer mode with all the protocol options bits set to zero, using a WDTR
message with the transfer bit exponent set to 00h.
Any condition that leaves the data transfer agreement in an indeterminate state shall cause the SCSI device to
enter an asynchronous, eight-bit wide data transfer mode with all the protocol options bits set to set to zero.
An initiator may initiate a PARALLEL PROTOCOL REQUEST message exchange whenever it is appropriate to
negotiate a data transfer agreement. SCSI devices that are currently capable of supporting any of the Parallel
Protocol Request options shall not respond to a PARALLEL PROTOCOL REQUEST message with a MES-
SAGE REJECT message.
Renegotiation after every selection is not recommended, since a significant performance impact is likely.
The Parallel Protocol Request message exchange establishes an agreement between the two SCSI devices;
a. on the permissible periods and the REQ/ACK offsets for all logical units on the two SCSI devices. This
agreement only applies to ST DATA IN phases, ST DATA OUT phases, DT DATA IN phases, and DT
DATA OUT phases. All other phases shall use asynchronous transfers;
b. on the width of the data path to be used for Data phase transfers between two SCSI devices. This
agreement only applies to ST DATA IN phases, ST DATA OUT phases, DT DATA IN phases, and DT
DATA OUT phases. All other information transfer phases shall use an eight-bit data path; and
c. on the protocol option is to be used.
The initiator sets its values according to the rules above to permit it to receive data successfully. If the target is
able to receive data successfully with these values (or smaller periods or larger REQ/ACK offsets or both), it
returns the same values in its PARALLEL PROTOCOL REQUEST message. If it requires a larger period, a
smaller REQ/ACK offset, or a smaller transfer width in order to receive data successfully, it substitutes values
in its PARALLEL PROTOCOL REQUEST message as required, returning unchanged any value not required to
94
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
be changed. Each SCSI device when transmitting data shall respect the negotiated limits set by the other's
PARALLEL PROTOCOL REQUEST message, but it is permitted to transfer data with larger periods, smaller
synchronous REQ/ACK offsets, or both. The completion of an exchange of PARALLEL PROTOCOL
REQUEST messages implies an agreement as shown in Table 35.
If the target does not support the selected protocol option it shall clear as many bits as required to set the pro-
tocol option field to a legal value that it does support.
Table 35: PARALLEL PROTOCOL REQUEST messages implied agreement
Target’s Parallel Protocol
Request response
Implied agreement
Non-zero REQ/ACK OFFSET
Synchronous transfer (i.e., each SCSI device transmits data with a
period equal to or greater than and a REQ/ACK OFFSET equal to or
less than the negotiated values received in the target’s PPR message).
REQ/ACK OFFSET equal to zero
Asynchronous transfer
16-bit data
Transfer width exponent equal
to one
Transfer width equal to zero
Eight-bit data
Protocol options equal to 0h and
transfer period factor equal to 9h
Eight-bit/asynchronous data transfer with protocol options field set to 0h
IU_REQ, DT_REQ, and QAS_REQ ST DATA IN and ST DATA OUT phases to transfer data
equal to zero
DT_REQ equal to one
DT DATA IN and DT DATA OUT phases to transfer data
IU_REQ and DT_REQ equal to one DT DATA IN and DT DATA OUT phases with information units
IU_REQ, DT_REQ, and QAS_REQ DT DATA IN and DT DATA OUT phases with information units and use
equal to one
QAS for arbitration
MESSAGE REJECT message
The initiator shall set eight-bit/asynchronous data transfer with protocol
options field set to 0h.
Parity error (on responding
message)
Eight-bit/asynchronous data transfer with protocol options field set to
0h
Unexpected bus free (as a result of Eight-bit/asynchronous data transfer with protocol options field set to
the responding message)
0h
No response
Eight-bit/asynchronous data transfer with protocol options field set to
0h
If there is an unrecoverable parity error on the initial PARALLEL PROTOCOL REQUEST message (see Sec-
tion 4.3.12), the initiator shall retain its previous data transfer mode and protocol options. If there is an unex-
pected bus free on the initial PARALLEL PROTOCOL REQUEST message, the initiator shall retain its previous
data transfer mode and protocol options.
4.3.12.1
PARALLEL PROTOCOL REQUEST
If the initiator recognizes that Parallel Protocol Request negotiation is required, it creates an attention condition
and sends a PARALLEL PROTOCOL REQUEST message to begin the negotiating process. After successfully
completing the MESSAGE OUT phase, the target shall respond with a PARALLEL PROTOCOL REQUEST
message or a MESSAGE REJECT message.
Parallel SCSI Interface Product Manual, Rev. A
95
Download from Www.Somanuals.com. All Manuals Search And Download.
If an abnormal condition prevents the target from responding with a PARALLEL PROTOCOL REQUEST mes-
sage or with a MESSAGE REJECT message, then both SCSI devices shall use the eight-bit/asynchronous
data transfer mode with all the protocol options bits set zero to indicate ST DATA IN and ST DATA OUT phases
between the two SCSI devices.
Following a target's responding PARALLEL PROTOCOL REQUEST message, an implied agreement for data
transfers shall not be considered to exist until:
a. the initiator receives the last byte of the PARALLEL PROTOCOL REQUEST message and parity is
valid; and
b. the target does not detect an attention condition on the last byte of the PARALLEL PROTOCOL
REQUEST message.
If the initiator does not support the target’s responding PARALLEL PROTOCOL REQUEST message’s values,
the initiator shall create an attention condition and the first message shall be a MESSAGE REJECT message.
If during the PARALLEL PROTOCOL REQUEST message the initiator creates an attention condition and the
first message of the MESSAGE OUT phase is either a MESSAGE PARITY ERROR or MESSAGE REJECT
message, the data transfers shall be considered to be negated by both SCSI devices. In this case, both SCSI
devices shall use the eight-bit asynchronous data transfer mode with all the protocol options bits set zero to
indicate ST DATA IN and ST DATA OUT phases for data transfers between the two SCSI devices.
4.3.13
QAS REQUEST
The QAS REQUEST message is sent from a target that has both information unit transfers and QAS enabled
4.3.14
RESTORE POINTERS
The RESTORE POINTERS message is sent from a target to direct the initiator to copy the most recently saved
command, data, and status pointers for the task to the corresponding active pointers. The command and status
pointers shall be restored to the beginning of the present command and status areas. The data pointer shall be
restored to the value at the beginning of the data area in the absence of a SAVE DATA POINTERS message or
to the value at the point at which the last SAVE DATA POINTERS message occurred for that task.
When information unit transfers are enabled, there are implied restore pointers, and the target shall not trans-
4.3.15
SAVE DATA POINTERS
The SAVE DATA POINTERS message is sent from a target to direct the initiator to copy the current data
pointer to the saved data pointer for the current task.
96
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4.3.16
SYNCHRONOUS DATA TRANSFER REQUEST
Synchronous Data Transfer Request (SDTR) messages (see Table 36) are used to negotiate a synchronous
data transfer agreement between two SCSI devices.
Table 36: Synchronous Data Transfer Request message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
2
3
4
EXTENDED MESSAGE (01h)
EXTENDED MESSAGE LENGTH (03h)
SYNCHRONOUS DATA TRANSFER REQUEST (01h)
TRANSFER PERIOD FACTOR [1]
REQ/ACK OFFSET
The TRANSFER PERIOD FACTOR field values are defined below.
Code
Description
00h-07h Reserved. Faster timings may be allowed by future SCSI parallel interface standards
08h
09h
0Ah
0Bh
Transfer period equals 6.25 ns. Fast-160. DT transfers are required for this transfer period factor.
Transfer period equals 12.5 ns. Fast-80. DT transfers are required for this transfer period factor.
Transfer period equals 25 ns. Fast-40 data is latched every 25 ns or 30.3 ns.
Transfer period equals 30.3 ns. Fast-40 data is latched every 25 ns or 30.3 ns.
Transfer period equals 50 ns. Fast-20 data is latched using a transfer period of less than or equal to 96 ns
and greater than or equal to 50 ns.
0Ch
Transfer period equals the period factor x 4. Fast-20 data is latched using a transfer period of less than or
equal to 96 ns and greater than or equal to 50 ns.
0D-18h
19h-31h
32h-FFh
Transfer period equals the period factor x 4. Fast-10 data is latched using a transfer period of less than or
equal to 196 ns and greater than or equal to 100 ns.
Transfer period equals the period factor x 4. Fast-5 data is latched using a transfer period of less than or
equal to 1,020 ns and greater than or equal to 200 ns.
The REQ/ACK OFFSET field contains the maximum number of REQ assertions allowed to be outstanding
before a corresponding ACK assertion is received at the target. The size of a data transfer may be 1 or 2 bytes
depending on what values, if any, have been previously negotiated through an exchange of WIDE DATA
TRANSFER REQUEST messages or PPR messages. The REQ/ACK OFFSET value is chosen to prevent
overflow conditions in the SCSI device's reception buffer and offset counter. A REQ/ACK OFFSET value of
zero shall indicate asynchronous data transfer mode and that the TRANSFER PERIOD FACTOR field shall be
ignored; a value of FFh shall indicate unlimited REQ/ACK OFFSET.
An SDTR agreement applies to all logical units of the two SCSI devices that negotiated agreement. That is, if
SCSI device A, acting as an initiator, negotiates a synchronous data transfer agreement with SCSI device B (a
target), then the same data transfer agreement applies to SCSI devices A and B even if SCSI device B
changes to an initiator.
An SDTR agreement only applies to the two SCSI devices that negotiate the agreement. Separate synchro-
nous data transfer agreements are negotiated for each pair of SCSI devices. The synchronous data transfer
agreement only applies to DATA phases.
An SDTR message exchange shall be initiated by a SCSI device whenever a previously arranged synchronous
data transfer agreement may have become invalid. The agreement becomes invalid after any condition that
may leave the data transfer agreement in an indeterminate state such as:
Parallel SCSI Interface Product Manual, Rev. A
97
Download from Www.Somanuals.com. All Manuals Search And Download.
a. after a HARD RESET;
b. after a TARGET RESET message;
c. after a power cycle; and
d. after a change in the transceiver mode (e.g., LVD mode to MSE mode).
Any condition that leaves the data transfer agreement in an indeterminate state shall cause the SCSI device to
enter an asynchronous data transfer mode.
A SCSI device may initiate an SDTR message exchange whenever it is appropriate to negotiate a new data
transfer agreement (either synchronous or asynchronous). SCSI devices that are capable of synchronous data
transfers shall not respond to an SDTR message with a MESSAGE REJECT message.
Renegotiation after every selection is not recommended since a significant performance impact is likely.
The SDTR message exchange establishes the permissible transfer periods and the REQ/ACK offsets for all
logical units on the two SCSI devices. This agreement only applies to ST DATA IN phases and ST DATA OUT
phases. COMMAND, MESSAGE, and STATUS phases shall use asynchronous transfers.
The originating SCSI device (the SCSI device that sends the first of the pair of SDTR messages) sets its values
according to the rules above to permit it to receive data successfully. If the responding SCSI device is able to
also receive data successfully with these values (or smaller transfer periods or larger REQ/ACK offsets or
both), it returns the same values in its SDTR message. If it requires a larger transfer period, a smaller REQ/
ACK offset, or both in order to receive data successfully, it substitutes values in its SDTR message as required,
returning unchanged any value not required to be changed. Each SCSI device, when transmitting data, shall
respect the negotiated limits set by the other's SDTR message, but it is permitted to transfer data with larger
transfer periods, smaller synchronous REQ/ACK offsets, or both. The completion of an exchange of SDTR
messages implies an agreement as shown in Table 37.
Table 37: SDTR messages implied agreements
Responding SCSI device Parallel
Protocol Request response
Implied agreement
Non-zero REQ/ACK offset
Synchronous transfer (i.e., each SCSI device transmits data with a
transfer period equal to or greater than and a REQ/ACK offset equal to
or less than the values received in the other device’s SDTR message)
with ST DATA IN and ST DATA OUT phases. This is equivalent to pro-
tocol options of 0h in the PARALLEL PROTOCOL REQUEST mes-
sage.
REQ/ACK offset equal to zero
MESSAGE REJECT message
Asynchronous transfer.
The originating SCSI device shall set synchronous transfer.
Asynchronous transfer
Parity error (on responding
message)
Unexpected bus free (as a result of Asynchronous transfer
the responding message)
No response
Asynchronous transfer
If there is an unrecoverable parity error on the initial SDTR message (see sections 3.12.2 and 3.12.3), the initi-
ating SCSI device shall retain its previous data transfer mode. If there is an unexpected bus free on the initial
SDTR message, the initiating SCSI device shall retain its previous data transfer mode.
98
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4.3.16.1
Target initiated SDTR negotiation
If the target recognizes that SDTR negotiation is required, it sends an SDTR message to the initiator. The initi-
ator shall create an attention condition on the last byte of the SDTR message from the target, and the initiator
shall respond with its SDTR message, MESSAGE PARITY ERROR message, or with a MESSAGE REJECT
message.
If an abnormal condition prevents the initiator from responding with a SDTR message or with a MESSAGE
REJECT message, then both SCSI devices shall return to asynchronous data transfer mode for data transfers
between the two SCSI devices.
Following an initiator's responding SDTR message, an implied agreement for synchronous operation shall not
be considered to exist until the target leaves MESSAGE OUT phase, indicating that the target has accepted
the SDTR negotiation.
If the target does not support any of the initiator’s responding SDTR message’s values, the target shall switch
to a Message In phase and the first message shall be a MESSAGE REJECT message. In this case the implied
agreement shall be considered to be negated and both SCSI devices shall use the asynchronous data transfer
mode for data transfers between the two SCSI devices.
If a parity error occurs, the implied agreement shall be reinstated if a retransmission of a subsequent pair of
messages is successfully accomplished. After a vendor-specific number of retry attempts (greater than zero), if
the target continues to receive parity errors, it shall terminate the retry activity. This is done by the target caus-
ing an unexpected bus free. The initiator shall accept such action as aborting the SDTR negotiation and both
SCSI devices shall go to asynchronous data transfer mode for data transfers between the two SCSI devices.
4.3.16.2
Initiator initiated SDTR negotiation
If the initiator recognizes that SDTR negotiation is required, it creates an attention condition and sends a SDTR
message to begin the negotiating process. After successfully completing the MESSAGE OUT phase, the target
shall respond with the SDTR message or a MESSAGE REJECT message.
If an abnormal condition prevents the target from responding with a SDTR message or with a MESSAGE
REJECT message, then both SCSI devices shall go to asynchronous data transfer mode for data transfers
between the two SCSI devices.
Following a target's responding SDTR message, an implied agreement for synchronous data transfers shall
not be considered to exist until:
a. the initiator receives the last byte of the SDTR message and parity is valid; and
b. the target does not detect an attention condition on the last byte of the SDTR message. If the initiator does
not support the target’s responding SDTR message’s values, the initiator shall create an attention condition
and the first message shall be a MESSAGE REJECT message.
If during the SDTR message the initiator creates an attention condition and the first message out is either Mes-
sage Parity Error or Message Reject, the synchronous operation shall be considered to be negated by both the
initiator and the target. In this case, both SCSI devices shall go to asynchronous data transfer mode for data
transfers between the two SCSI devices.
4.3.17
TASK COMPLETE
The TASK COMPLETE message is sent from a target to an initiator to indicate that a task has completed and
that valid status has been sent to the initiator when information unit transfers are disabled.
After successfully sending this message, the target shall go to the Bus Free phase by releasing the BSY signal.
The target shall consider the message transmission to be successful when there is no attention condition on
the TASK COMPLETE message.
The task may have completed successfully or unsuccessfully as indicated in the status.
Parallel SCSI Interface Product Manual, Rev. A
99
Download from Www.Somanuals.com. All Manuals Search And Download.
4.3.18
WIDE DATA TRANSFER REQUEST
WIDE DATA TRANSFER REQUEST (WDTR) messages (see Table 38) are used to negotiate a wide data
transfer agreement between two SCSI devices.
Table 38: WIDE DATA TRANSFER REQUEST message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
2
3
EXTENDED MESSAGE (01h)
EXTENDED MESSAGE LENGTH (02h)
WIDE DATA TRANSFER REQUEST (03h)
TRANSFER WIDTH EXPONENT
The TRANSFER WIDTH EXPONENT field defines the transfer width to be used during ST DATA IN phases
and ST Data Out phases. The transfer width that is established applies to both SCSI devices. Valid transfer
widths are 8 bits (m=00h) and 16 bits (m=01h). A Transfer Width Exponent Field value of 02h is obsolete and
values greater than 02h are reserved.
A WDTR agreement applies to all logical units of the two SCSI devices that negotiated agreement. That is, if
SCSI device A, acting as an initiator, negotiates a wide data transfer agreement with SCSI device B (a target),
then the same transfer width agreement applies to SCSI devices A and B even if SCSI device B changes to an
initiator.
A WDTR only applies to the two SCSI devices that negotiate the agreement. Separate wide transfer agree-
ments are negotiated for each pair of SCSI devices. The wide data transfer agreement only applies to Data
phases.
A WDTR message exchange shall be initiated by a SCSI device whenever a previously arranged wide transfer
agreement may have become invalid. The agreement becomes invalid after any condition that may leave the
wide transfer agreement in an indeterminate state such as:
a. after a hard reset;
b. after a TARGET RESET message;
c. after a power cycle; and
d. after a change in the transceiver mode (e.g., LVD mode to MSE mode).
Any condition that leaves the data transfer agreement in an indeterminate state shall cause the SCSI device to
enter an eight-bit wide data transfer mode.
A SCSI device may initiate a WDTR message exchange whenever it is appropriate to negotiate a new wide
transfer agreement. SCSI devices that are capable of wide data transfers (greater than 8 bits) shall not
respond to a WDTR message with a MESSAGE REJECT message.
Renegotiation after every selection is not recommended, since a significant performance impact is likely.
The WDTR message exchange establishes an agreement between the two SCSI devices on the width of the
data path to be used for Data phase transfers between two SCSI devices. This agreement only applies to ST
DATA IN phases and ST DATA OUT phases. All other information transfer phases, except DT Data phases,
shall use an eight-bit data path.
If a SCSI device implements both wide data transfer option and synchronous data transfer option and uses the
SDTR and WDTR messages, then it shall negotiate the wide data transfer agreement prior to negotiating the
synchronous data transfer agreement. If a synchronous data transfer agreement is in effect, then:
a. If a WDTR message is rejected with a MESSAGE REJECT message, the prior synchronous data trans-
100
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
fer agreement shall remain intact;
b. If a WDTR message fails for any other reason, the prior synchronous data transfer agreement shall
remain intact; or
c. If a WDTR message is not rejected with a MESSAGE REJECT message, a WDTR message shall reset
the synchronous data transfer agreement to asynchronous mode and any protocol option bits (see Sec-
The originating SCSI device (the SCSI device that sends the first of the pair of WDTR messages) sets its trans-
fer width value to the maximum data path width it elects to accommodate. If the responding SCSI device is able
to also accommodate this transfer width, it returns the same value in its WDTR message. If it requires a
smaller transfer width, it substitutes the smaller value in its WDTR message. The successful completion of an
exchange of WDTR messages implies an agreement as shown in Table 39.
Table 39: WDTR message implied agreement
Responding SCSI device
WDTR response
Implied agreement
Transfer Width Exponent equal to one
Transfer Width equal to zero
16-bit data
Eight-bit data transfer
MESSAGE REJECT message
The originating SCSI device shall set eight-bit data transfer
Eight-bit data transfer
Parity error (on responding message)
Unexpected bus free (as a result of the
responding message)
Eight-bit data transfer
No response
Eight-bit data transfer
If there is an unrecoverable parity error on the initial WDTR message (see sections 3.9.2 and 3.9.3) the initiat-
ing SCSI device shall retain its previous data transfer mode. If there is an unexpected bus free on the initial
WDTR message the initiating SCSI device shall retain its previous data transfer mode.
4.3.18.1
Target initiated WDTR negotiation
If the target recognizes that WDTR negotiation is required, it sends a WDTR message to the initiator.
The initiator shall create an attention condition on the last byte of the WDTR message from the target, and the
initiator shall respond with its WDTR message, MESSAGE PARITY ERROR message, or with a MESSAGE
REJECT message.
If an abnormal condition prevents the initiator from responding with a WDTR message or with a MESSAGE
REJECT message, then both SCSI devices shall go to eight-bit data transfer mode for data transfers between
the two SCSI devices.
Following an initiator's responding WDTR message, an implied agreement for wide data transfers operation
shall not be considered to exist until the target leaves the MESSAGE OUT phase, indicating that the target has
accepted the negotiation.
If the target does not support the initiator’s responding Transfer Width Exponent, the target shall switch to a
Message In phase and the first message shall be a MESSAGE REJECT message. In this case, the implied
agreement shall be considered to be negated and both SCSI devices shall use the eight-bit data transfer mode
for data transfers between the two SCSI devices. Any prior synchronous data transfer agreement shall remain
intact.
If a parity error occurs, the implied agreement shall be reinstated if a retransmission of a subsequent pair of
messages is successfully accomplished. After a device-dependent number of retry attempts (greater than
zero), if the target continues to receive parity errors, it shall terminate the retry activity. This is done by the tar-
Parallel SCSI Interface Product Manual, Rev. A
101
Download from Www.Somanuals.com. All Manuals Search And Download.
get causing an unexpected bus free. The initiator shall accept such action as aborting the WDTR negotiation,
and both SCSI devices shall go to eight-bit data transfer mode for data transfers between the two SCSI
devices. Any prior synchronous data transfer agreement shall remain intact.
4.3.18.2
Initiator initiated Wide Data Transfer Request (WDTR) negotiation
If the initiator recognizes that WDTR negotiation is required, it creates an attention condition and sends a
WDTR message to begin the negotiating process. After successfully completing the MESSAGE OUT phase,
the target shall respond with a WDTR message or a MESSAGE REJECT message.
If an abnormal condition prevents the target from responding with a WDTR message or with a MESSAGE
REJECT message, then both SCSI devices shall go to eight-bit transfer mode for data transfers between the
two SCSI devices.
Following a target's responding WDTR message, an implied agreement for wide data transfers shall not be
considered to exist until:
a. the initiator receives the last byte of the WDTR message and parity is valid; and
b. the target does not detect an attention condition before the ACK signal is released on the last byte of the
WDTR message.
If the initiator does not support the target’s responding Transfer Width Exponent, the initiator shall create an
attention condition and the first message shall be a MESSAGE REJECT message. If during the WDTR mes-
sage the initiator creates an attention condition and the first message of the MESSAGE OUT phase is either a
Message Parity Error or MESSAGE REJECT message, the wide data transfers shall be considered to be
negated by both SCSI devices. In this case, both SCSI devices shall use the eight-bit data transfer mode for
data transfers between the two devices.
4.4
Task attribute messages
Two-byte task attribute messages are used to specify an identifier, called a tag, for a task that establishes the
I_T_L_Q nexus. The Task Attribute messages are listed in Table 40. The Tag field is an 8-bit unsigned integer
assigned by the application client and sent to the initiator in the send SCSI command request (see ANSI SPI-4,
T10/1365D Rev. 8, Section 19.3.2).
4.4.1
Task attribute message overview and codes
The tag for every task for each I_T_L nexus shall be uniquely assigned by the application client. There is no
requirement for the task manager to check whether a tag is currently in use for another I_T_L nexus. If the task
manager checks the tag value and receives a tag that is currently in use for the I_T_L nexus, then it shall abort
all tasks for the initiator and the associated logical unit and shall return Check Condition status for the task that
caused the overlapped tag. The sense key shall be set to Aborted Command and the additional sense code
shall be set to Overlapped Commands Attempted with the additional sense code qualifier set to the value of
the duplicate tag (see Section 7.3). A tag becomes available for reassignment when the task ends. The
numeric value of a tag is arbitrary, providing there are no outstanding duplicates, and shall not affect the order
of execution.
For each logical unit on each target, each application client has up to 256 tags to assign to tasks. Thus a target
with eight logical units may have up to 14,336 tasks concurrently in existence if there were seven initiators on
the bus.
Whenever an initiator does a physical connection to a target, the appropriate task attribute message shall be
sent following the Identify message to establish the I_T_L_Q nexus for the task. Only one I_T_L_Q nexus may
be established during an initial connection or physical reconnection. If a task attribute message is not sent,
then only an I_T_L nexus is established for the task (i.e., an untagged command).
102
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
When a target does a physical reconnection to an initiator to continue a tagged task, the Simple Queue mes-
sage shall be sent following the Identify message to resume the I_T_L_Q nexus for the task. Only one
I_T_L_Q nexus may occur during a physical reconnection. If the Simple Tag message is not sent, then only an
I_T_L nexus occurs for the task (i.e., an untagged command).
If a target attempts to do a physical reconnection using an invalid tag, then the initiator should create an atten-
tion condition. After the corresponding MESSAGE OUT phase, the initiator shall respond with an Abort Task
message.
If a target does not implement tagged queuing and a queue tag message is received, the target shall switch to
a Message In phase with a MESSAGE REJECT message and accept the task as if it were untagged, provided
there are no outstanding untagged tasks from that initiator.
See Section 7.0 of this manual and the ANSI SCSI Architecture Model-2 standard for the task set management
rules.
Table 40: Task attribute message codes
Support
IU Transfers
Disabled
Clear attention
condition
Code
IU Transfers Enabled Message name
Direction
Iniator
Target
Initiator
Target
24h
21h
22h
20h
O
Q
Q
Q
O
Q
Q
Q
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Out
ACA
Not required
Not required
Not required
Not required
Out
Out
Out
Head of Queue
Ordered
Simple
In
Key:
M = Mandatory support
In = Target to initiator
O = Optional support
Out = Initiator to target
Q = Mandatory if tagged queuing is implemented
Yes = Initiator shall clear the attention condition before last ACK of the MESSAGE OUT phase.
Not required = Initiator may or may not clear the attention condition before last ACK of the MESSAGE OUT
N/A = Not applicable
4.4.2
ACA (AUTO CONTINGENT ALLEGIANCE)
See Table 41 for the format of the ACA message.
Table 41: ACA message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
MESSAGE CODE (24h)
TAG (00h-FFh)
The ACA message specifies that the task shall be placed in the task set as an ACA task. The rules used by the
task manager to handle ACA tasks within a task set are defined in Section 7.0 of this manual and the SCSI
Architecture Model-2 standard.
Parallel SCSI Interface Product Manual, Rev. A
103
Download from Www.Somanuals.com. All Manuals Search And Download.
4.4.3
HEAD OF QUEUE
See Table 42 for the format of the Head of Queue message.
Table 42: Head of Queue message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
MESSAGE CODE (21h)
TAG (00h-FFh)
The Head of Queue message specifies that the task shall be placed in the task set as a Head of Queue task.
The rules used by the device server to handle Head of Queue tasks within a task set are defined in Section 7.0
of this manual and in the SCSI Architecture Model-2 standard.
4.4.4
ORDERED
See Table 43 for the format of the Ordered message.
Table 43: Ordered message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
MESSAGE CODE (22h)
TAG (00h-FFh)
The Ordered message specifies that the task shall be placed in the task set as an Ordered task. The rules
used by the task manager to handle Ordered tasks within a task set are defined in Section 7.0 of this manual
and in the SCSI Architecture Model-2 standard.
4.4.5
SIMPLE
See Table 44 for the format of the Simple message.
Table 44: Simple message format
Bit
Byte
7
6
5
4
3
2
1
0
0
1
MESSAGE CODE (20h)
TAG (00h-FFh)
The Simple message specifies that the task shall be placed in the task set as a Simple task. The rules used by
the task manager to handle Simple tasks within a task set are defined in Section 7.0 of this manual and in the
SCSI Architecture Model-2 standard.
104
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
4.5
Task management messages
Table 45 lists the codes used for messages that manage tasks. Details about these task management mes-
sages is given in subsections following the table.
4.5.1
Task management message codes
Table 45: Task management message codes
Support
Code
IU Transfers Disabled IU Transfers Enabled
Clear attention
Direction condition
Initiator
Target
Initiator
Target
Message name
0Dh
06h
16h
0Eh
17h
0Ch
Q
O
O
Q
M
O
Q
M
O
Q
O
M
M
M
ABORT TASK
Out
Out
Out
Out
Out
Out
Yes
Yes
N/A
N/A
N/A
N/A
O
N/A
N/A
N/A
N/A
M
ABORT TASK SET
CLEAR ACA
Not required
Yes
CLEAR TASK SET
LOGICAL UNIT RESET
TARGET RESET
Yes
Yes
Key:
M = Mandatory support O = Optional support
In = Target to initiator Out = Initiator to target
Q = Mandatory if tagged queuing is implemented
Yes = Initiator shall clear the attention condition before last ACK of the MESSAGE OUT phase.
Not required = Initiator may or may not clear the attention condition before last ACK of the MESSAGE OUT
N/A = Not applicable. The receiving SCSI device shall reject this message.
4.5.2
ABORT TASK
The ABORT TASK message is defined in the SCSI Architecture Model-4 standard.
In addition to the requirements in the SCSI Architecture Model-4 standard, the target shall go to the Bus Free
phase following the successful receipt of the ABORT TASK message.
If only an I_T nexus has been established, the target shall go to the Bus Free phase. No status or message
shall be sent for the current task and no pending data, status, or tasks are affected.
Note. The ABORT TASK message in the case of only an I_T nexus is useful to an initiator that is not able to
get an Identify message through to the target due to parity errors and just needs to end the current
task. Any pending data, status, or tasks for the I_T nexus are not affected. It is not possible to abort an
On a physical reconnection, the ABORT TASK message aborts the current task if it is fully identified. If the cur-
rent task is not fully identified (i.e., an I_T_L nexus exists, but the target is doing a physical reconnecting for an
I_T_L_Q nexus), then the current task is not aborted and the target goes to the BUS FREE phase.
Note. A nexus may not be fully identified on a physical reconnection if an attention condition is created dur-
ing the Identify message and the target has any tagged tasks for that initiator on that logical unit.
It is not an error to issue this message to an I_T_L or I_T_L_Q nexus that does not have any pending tasks.
Parallel SCSI Interface Product Manual, Rev. A
105
Download from Www.Somanuals.com. All Manuals Search And Download.
4.5.3
ABORT TASK SET
The ABORT TASK SET message is defined in the SCSI Architecture Model-4 standard. In addition to the
requirements in the SCSI Architecture Model-4 standard the target shall go to the BUS FREE phase following
the successful receipt of the ABORT TASK SET message.
If only an I_T nexus has been established, the target shall switch to a BUS FREE phase. No status or message
shall be sent for the current task and no pending data, status, or tasks are affected.
Note. The ABORT TASK SET message in the case of only an I_T nexus is useful to an initiator that is not
able to send an Identify message through to the target due to parity errors and just needs to end the
current task or task management function. It is not an error to issue this message to an I_T_L nexus
that does not have any pending or current tasks.
4.5.4
CLEAR ACA
The CLEAR ACA message is defined in the SCSI Architecture Model-4 standard.
The CLEAR ACA message shall only be sent by an initiator during an initial connection. If the target receives
the CLEAR ACA message at any other time the target shall switch to a Message In phase and issue a MES-
SAGE REJECT message. The target shall then continue processing the task that was in process when the
CLEAR ACA message was received.
On receipt of a CLEAR ACA message, the task manager, in addition to clearing the ACA condition, shall go to
the BUS FREE phase following the successful receipt of the CLEAR ACA message.
It is not an error to issue a CLEAR ACA message when no ACA condition is in effect.
4.5.5
CLEAR TASK SET
The CLEAR TASK SET message is defined in the SCSI Architecture Model-4 standard.
In addition to the requirements in the SCSI Architecture Model-4 standard, the target shall go to the BUS FREE
phase following the successful receipt of the CLEAR TASK SET message.
4.5.6
LOGICAL UNIT RESET
The LOGICAL UNIT RESET message is defined in the SCSI Architecture Model-4 standard.
Receipt of the LOGICAL UNIT RESET message after an I_T_L nexus has been astablished is a logical unit
reset event as defined in the SCSI Architecture Model-4 standard.
In addition to the requirements in the SCSI Architecture Model-4 standard, the target shall go to the BUS FREE
phase following the successful receipt of the LOGICAL UNIT RESET message.
4.5.7
TARGET RESET
The TARGET RESET message is defined in the SCSI Architecture Model-4 standard.
In addition to the requirements in the SCSI Architecture Model-4 standard, the target shall go to the BUS FREE
phase following the successful receipt of the TARGET RESET message.
106
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
5.0
Miscellaneous SCSI bus characteristics
Asynchronous conditions can occur on the SCSI bus that cause a SCSI device to perform certain actions that
may alter the phase sequence of an I/O process. Furthermore, SCSI devices may not all be powered on at the
same time. This publication does not address power sequencing issues. However, each SCSI device, as it is
powered on, should perform appropriate internal reset operations and internal test operations. Following a
power on to selection time after powering on, SCSI targets should be able to respond with appropriate status
and 5.4 describe some asynchronous conditions that could arise during operations on a SCSI bus. Section 5.5
describes SCSI pointers, a subject related to the first three. Section 4 describes the SCSI message system,
which also enters into the overall SCSI operating picture.
5.1
Attention condition
The attention condition allows a SCSI initiator port to inform a SCSI target port that the initiator has a message
ready. The target shall honor all valid attention conditions by performing a MESSAGE OUT phase.
The initiator may create an attention condition during the SELECTION phase and during all information trans-
fer phases.
To create an attention condition during the SELECTION phase following normal arbitration, the initiator shall
assert the ATN signal at least two system deskew delays before releasing the BSY signal.
To create an attention condition during the SELECTION phase following a QAS, the initiator shall assert the
ATN signal at least two system deskew delays before asserting the target’s ID in the bus.
To create an attention condition during an information transfer phase, the initiator shall assert the ATN signal at
least an attention setup time before negating the ACK signal. To reestablish an attention condition during a
multi-byte Message Out retry, the initiator shall assert the ATN signal two system deskew delays before assert-
ing the ACK signal on the first message byte. To clear an attention condition during an information transfer
phase, the initiator shall negate the ATN signal at least two system deskew delays before asserting the ACK
signal. The initiator shall not negate the ATN signal while the ACK signal is asserted during a MESSAGE OUT
phase.
The initiator shall create the attention condition on or before the last information transfer in a bus phase or
information unit, for the attention condition to be honored before transition to a new bus phase or information
unit. If the initiator does not meet the attention condition setup time, the target may not honor the attention con-
dition until a later bus phase or information unit, possibly resulting in an unexpected action. The initiator shall
keep the ATN signal asserted until the target responds to the attention condition.
Once the target has responded to the attention condition by going to MESSAGE OUT phase, the initiator shall
keep the attention condition set if more than one message byte is to be transferred. The initiator shall clear the
attention condition on the last message byte to be sent. The initiator shall clear the attention condition while
transferring the last byte of the messages indicated with a Yes in Tables 27, 40, and 45. If the target detects
that the initiator failed to meet this requirement, then the target shall go to BUS FREE phase (see Section 3.1).
Parallel SCSI Interface Product Manual, Rev. A
107
Download from Www.Somanuals.com. All Manuals Search And Download.
A SCSI target port shall respond to an attention condition with MESSAGE OUT phase as follows:
a. If an attention condition is created during a COMMAND phase, the target shall enter MESSAGE OUT
phase after transferring part or all of the command descriptor block.
b. If an attention condition is created during a DATA phase, the target shall enter MESSAGE OUT phase at
the target's earliest convenience (for example, on a logical block boundary). The initiator shall continue
REQ/ACK handshakes until it detects the phase change.
c. If an attention condition is created during a STATUS phase, the target shall enter MESSAGE OUT
phase after the status byte has been acknowledged by the initiator.
d. If an attention condition is created during a MESSAGE IN phase, the target shall enter MESSAGE OUT
phase before it sends another message. This permits a MESSAGE PARITY ERROR message from the
initiator to be associated with the appropriate message.
e. If an attention condition is created during a SELECTION phase, the target shall enter MESSAGE OUT
phase after that SELECTION phase.
f. If SPI (SCSI Parallel Interface) information unit transfers are disabled and an attention condition is
detected during a RESELECTION phase, the SCSI target port shall enter MESSAGE OUT phase after
the SCSI target has sent its IDENTIFY message for that RESELECTION phase.
g. If an attention condition is created during a RESELECTION phase the target shall enter MESSAGE
OUT phase after the target has sent the first Information Transfer phase.
h. If the attention condition is detected during the transfer of a SPI data stream information unit, the target
shall terminate the current stream by entering into MESSAGE OUT phase at the end of any SPI data
stream information unit in the current stream.
i. If the attention condition is detected between SPI information units, the target shall enter MESSAGE
OUT phase at the completion of the next SPI information unit.
During a RESELECTION phase, the initiator should only create an attention condition to transmit an ABORT
TASK SET, Abort Task, Target Reset, Clear Task Set, Disconnect, Logical Unit Reset, or NO OPERATION
message. Other uses may result in ambiguities concerning the nexus.
The initiator shall keep the ATN signal asserted throughout the MESSAGE OUT phase if more than one byte is
to be transferred. Unless otherwise specified, the initiator may negate the ATN signal at any time that does not
violate the specified setup and hold times, except it shall not negate the ATN signal while the ACK signal is
asserted during a MESSAGE OUT phase. Normally, the initiator negates the ATN signal while the REQ signal
is true and the ACK signal is false during the last REQ/ACK handshake of the MESSAGE OUT phase.
5.2
Bus reset condition
The bus reset condition is used to create a hard reset (see Section 5.3) for all SCSI devices on the bus and
change the bus to a BUS FREE phase. This condition shall take precedence over all other phases and condi-
tions. Any SCSI device may create the bus reset condition by asserting the RST signal for a minimum of a
reset hold time.
Environmental conditions (for example, static discharge) may generate brief glitches on the RST signal. SCSI
devices shall not react to glitches on the RST signal that are less than a reset delay. The manner of rejecting
glitches is vendor-specific. The bus clear delay following a RST signal transition to true is measured from the
original transition of the RST signal. This limits the time to confirm the RST signal to a maximum of a bus clear
delay.
5.3
Hard reset
A SCSI device detecting a reset event shall release all SCSI bus signals within a bus clear delay of the transi-
tion of the RST signal to true, except the RST signal if it is asserting RST. The BUS FREE phase always fol-
lows the hard reset condition. The SCSI device shall not assert the RST signal in response to a reset event on
the same bus segment.
108
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The effect of the hard reset on tasks that have not completed, SCSI device reservations, and SCSI device
operating modes is defined in the SCSI Architecture Model-4 standard.
Any SCSI device that detects a hard reset shall also set its transfer agreement to the default transfer agree-
ment.
5.4
Reset events
When a SCSI device detects a reset event it shall initiate hard reset.
5.4.1 Bus reset event
When a SCSI device detects a bus reset condition by detecting RST true for a reset delay, it shall cause a
reset event. In response to a bus reset event, a SCSI target port shall create a unit attention condition for all ini-
tiators. The sense key shall be set to Unit Attention with the additional sense code set to either SCSI Bus
Reset Occurred or Power On, Reset, or Bus Device Reset Occurred.
5.4.2
Power on reset event
When a SCSI device is powered on, it shall cause a reset event. In response to a power on reset event, the tar-
get shall create a unit attention condition for all initiators. The sense key shall be set to Unit Attention with the
additional sense code set to either Power On Occurred or Power On, Reset, or Bus Device Reset Occurred.
5.4.3
Target reset event
When a SCSI device successfully receives a SCSI target port Reset message, it shall cause a reset event. In
response to a SCSI target port reset event, the SCSI target shall create a unit attention condition for all SCSI
initiator ports. The sense key shall be set to Unit Attention with the additional sense code set to either Bus
Device Reset Function Occurred or Power On, Reset, or Bus Device Reset Occurred.
5.4.4
Transceiver mode change reset event
When a SCSI device that contains multimode transceivers detects a transceiver mode change from LVD mode
to MSE mode it shall cause a reset event. In response to the transceiver mode change reset event, a SCSI tar-
get port shall create a unit attention condition for all initiators. The sense key shall be set to Unit Attention, and
the additional sense code set to Transceiver Mode Changed to Single-ended.
When a SCSI device that contains multimode transceivers detects a transceiver mode change from MSE
mode to LVD mode it shall cause a reset event. In response to the transceiver mode change reset event, a
SCSI target port shall create a unit attention condition for all initiators. The sense key shall be set to Unit Atten-
tion, and the additional sense code set to Transceiver Mode Changed to LVD.
5.5
Asynchronous condition recovery
Part of the asynchronous condition recovery stem are sets of pointers to storage areas where information is
kept that, in addition to being necessary to the start of a task, allows tasks to be interrupted, restarted or
repeated. The following subsections describe these pointers.
5.5.1
SCSI pointers
The SCSI architecture provides for sets of pointers to be kept within each initiator task control area. These
pointers are in sets of three pointers per set. The pointers in each set point to three storage area sections in the
initiator. The three sections contain the following information:
a. A command from initiator to target.
b. Status (from target) associated with the command.
c. Data (to/from target) associated with the command.
Of these three-pointer sets there are two types:
Parallel SCSI Interface Product Manual, Rev. A
109
Download from Www.Somanuals.com. All Manuals Search And Download.
• Active pointers (one set per initiator only).
• Saved pointers (one or more sets per initiator, up to fifteen sets total).
The use of these two types of pointers is described in the following paragraphs.
5.5.2
Active pointers
Active pointers represent the current state of the interface between the initiator and the target that the initiator
is currently connected to and servicing. The pointers for the current task remain in the initiator Active Pointer
registers from the time they are put there after the completion of all activities associated with the previous task,
until the logic of the Initiator dictates a new task shall be executed. Normally, successful receipt by the initiator
of good status associated with the current task triggers the initiator to insert a new set of the three Active point-
ers for the next task. The initiator does not wait for the TASK COMPLETE message before deciding whether to
retry the Active task or transfer in new task pointers. If the current task was never satisfactorily completed, the
initiator logic may dictate that some special response action be taken, such as restoring the values in the
Active pointer registers to their beginning values so the current task can be restarted (see note following). The
initiator may choose to send a command such as a REQUEST SENSE command to the target, or the initiator
could ignore the unsatisfactorily completed task and start the next originally scheduled task.
Note. For example, if the drive detects a parity error in the data out from the current command, it sends the
RESTORE POINTERS message to the initiator. In this case, the Restore Pointers request causes the
initiator to restore as the active pointers the values existing at the beginning of the current task so the
current task can be resent. The “beginning” pointer values point to the first byte of the current task
(very likely a command descriptor block), the first byte of the area set aside for status to be returned
and the first byte of the area set aside for data associated with the current task. (See Section 4.3.14 for
a detailed description of operations resulting from the RESTORE POINTERS message).
5.5.3
Saved pointers
Saved pointers point to initiator storage locations where command, status and data information are stored for a
task that was saved at some point in the past. There is one set of saved pointers for the current task for each
target on the interface bus that is currently active (whether or not it is currently connected to the initiator). The
saved command pointer always points to the first byte of the Command Descriptor Block (see Section 7.2) for
the “current” task for each target, the saved status pointer always points to the first byte of the area used for the
status associated with the command, and the saved data pointer points to some location (not necessarily the
beginning) in the area used for data associated with the command. When a SCSI target port disconnects the
initiator saves the current pointers. Before a SCSI target port disconnects it may send a SAVE DATA POINT-
ERS message to the initiator, which copies the data pointer that is for the current command for that target into
the location set aside for the target’s saved pointers. When a SCSI target port reconnects, the initiator performs
a restore pointers operation that copies the saved pointers for the reconnected target into the initiator current
pointer registers so that the current command for that target may continue its operation from where it left off
before disconnecting. If the target had sent a Save Data Pointer message previously, the current data pointer
points to the place in the data store area where operations left off. The data pointer otherwise points to the
beginning of the data area, unless the data pointers were modified by a MODIFY DATA POINTERS message
from the target prior to disconnecting. The MODIFY DATA POINTERS message adds a value to the data
pointer that allows data to be taken, upon reconnection, from a location before or after the last byte transferred
location.
Since the data pointer value may be modified by the target before the task ends, it should not be used to test
for actual transfer length, because the value may no longer be valid for that purpose.
110
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
5.6
Command processing considerations and exception conditions
Command processing considerations and exception conditions overview
5.6.1
The following subclauses describe some aspects of command processing, including exception conditions and
error handling that are specific to this standard.
5.6.2
Asynchronous event notification
Notification of an asynchronous event is performed using the SEND command with the AER bit set to one. The
information identifying the condition being reported shall be returned during the data out delivery phase of the
SEND command (see SCSI Primary Commands-4 standard).
An error condition or unit attention condition shall be reported once per occurrence of the event causing it. The
target may choose to use an asynchronous event notification or to return CHECK CONDITION status on a
subsequent command, but not both. Notification of command-related error conditions shall be sent only to the
initiator that requested the task.
The asynchronous event notification protocol may be used to notify processor devices that a system resource
has become available. If a SCSI target port chooses to use this method, the sense key in the sense data sent
to the processor device shall be set to Unit Attention.
The asynchronous event notification protocol shall be used only with SCSI devices that return processor
device type with an AERC bit of one in response to an INQUIRY command. The INQUIRY command should be
sent to logical unit zero of each SCSI device responding to selection. This procedure shall be conducted prior
to the first asynchronous event notification and shall be repeated whenever the SCSI device deems it appropri-
ate or when an event occurs that may invalidate the current information. (See SYNCHRONOUS DATA
Each SCSI device that returns processor device type with an AERC bit of one shall be issued a TEST UNIT
READY command to determine that the SCSI device is ready to receive an asynchronous event notification. A
SCSI device returning CHECK CONDITION status is issued a REQUEST SENSE command. This clears any
pending unit attention condition. A SCSI device that returns processor device type with an AERC bit of one and
returns Good status when issued a TEST UNIT READY command shall accept a SEND command with an
AER bit of one.
Note. A SCSI device that uses asynchronous event notification at initialization time should provide means to
defeat these notifications. This may be done with a switch or jumper wire. SCSI devices that imple-
ment saved parameters may alternatively save the asynchronous event notification permissions either
on a per SCSI device basis or as a system wide option. In any case, a SCSI device conducts a survey
with INQUIRY commands to be sure that the SCSI devices on the SCSI bus are appropriate destina-
tions for SEND commands with an AER bit of one. (The SCSI devices on the bus or the SCSI ID
assignments may have changed.)
See asynchronous event reporting in the SCSI Architecture Model-4 standard for more information on asyn-
chronous event notification.
This feature is not likely supported at this time. Check individual drive’s Product Manual, in features supported
table to see if it is supported by a particular drive model.
5.6.3
Incorrect initiator connection
An incorrect initiator connection occurs during an initial connection if a SCSI initiator port creates a nexus that
already exists and does not send an ABORT TASK SET, ABORT TASK, TARGET RESET, CLEAR TASK SET,
DISCONNECT, or LOGICAL UNIT RESET message as one of the messages of the MESSAGE OUT phase or
as one of the task management flags in the SPI command information unit.
Parallel SCSI Interface Product Manual, Rev. A
111
Download from Www.Somanuals.com. All Manuals Search And Download.
A task manager that detects an incorrect initiator connection shall abort all tasks for the initiator and the associ-
ated logical unit and shall return CHECK CONDITION status for the task that caused the incorrect initiator con-
nection. The sense key shall be set to Aborted Command and the additional sense code shall be set to
Overlapped Commands Attempted with the additional sense code qualifier set to the value of the duplicate tag
Note. An incorrect initiator connection may be indicative of a serious error and, if not detected, could result in
a task operating with a wrong set of pointers. This is considered a catastrophic failure on the part of the
initiator. Therefore, vendor-specific error recovery procedures may be required to guarantee the data
integrity on the medium. The target may return additional sense data to aid in this error recovery proce-
dure (e.g., sequential-access devices may return the residue of blocks remaining to be written or read
at the time the second command was received).
5.6.4
Unexpected RESELECTION phase
An unexpected RESELECTION phase occurs if a SCSI target port attempts to do a physical reconnect to a
task for which a nexus does not exist. a SCSI initiator port should respond to an unexpected RESELECTION
phase by sending an ABORT TASK message.
112
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
6.0
SPI information units
An information unit transfer transfers data in SPI information units. The order in which SPI information units are
transferred within an information unit transfer follows a prescribed sequence. When information unit transfers
are enabled, only SPI information units shall be transferred within the DT DATA OUT phase and DT DATA IN
phase.
The SPI information unit sequences shall be as shown in figures 15, 16, 17, and 18. See figures 12 and 13 for
the sequencing rules between the DT Data In or DT DATA OUT phases and the other phases.
The normal progression is from SPI L_Q information unit/SPI command information unit pairs, to SPI L_Q
information unit/SPI data information unit pairs, to SPI L_Q information unit/SPI status information unit pairs.
Note. a SCSI initiator port may request a BUS FREE phase by creating an attention condition and sending a
DISCONNECT message on the corresponding MESSAGE OUT phase. This allows a SCSI initiator
port to request the target break up a long sequence of SPI L_Q information unit/SPI data information
unit pairs into smaller sequences.
After message phases complete that contain any negotiation (such as, PPR, WDTR, or SDTR) that results in
UI_REQ being changed, the SCSI target device shall abort all tasks, except the current task, for the initiator
participating in the negotiation and the SCSI initiator shall abort all tasks, except the current task, for the target
device.
When an information unit transfer agreement is in effect, there is no option equivalent to the “physical discon-
nect without sending a save Data Pointer message.” The initiator shall save the data pointers as soon as the
last byte of the last iuCRC for a SPI information unit is transferred. The save shall occur even if the initiator
detects an error in the SPI data information unit.
The target shall not start a new information unit transfer until all previous REQ(s) have been responded to by
an equal number of ACK(s) except during a sequence of SPI data stream information units (see Section 6.2.4).
6.1
Information unit transfer logical operations
SCSI devices using information unit transfers may transfer SPI information units for any number of I/O pro-
cesses by using logical connects, logical disconnects, and logical reconnects.
If there are no phase changes to a MESSAGE OUT phase or a MESSAGE IN phase, then logical disconnects
shall occur at the completion of:
a. each SPI command information unit;
b. each SPI status information unit;
c. each SPI data information unit;
d. any SPI L_Q information unit if SPI L_Q information unit Data Length field is zero; and
e. the last SPI data stream information unit.
At completion of those SPI information units the I_T_L_Q nexus becomes an I_T nexus. The I_T nexus
remains in place until the target does a physical disconnect or an I_T_L_Q nexus is reestablished by the target
transmitting a SPI L_Q information unit.
Parallel SCSI Interface Product Manual, Rev. A
113
Download from Www.Somanuals.com. All Manuals Search And Download.
Logical reconnections occur on the successful target transmission and initiator receipt of a SPI L_Q informa-
tion unit for an existing I/O process. The logical reconnection reestablishes the I_T_L_Q nexus for that I/O pro-
cess.
SCSI devices using information unit transfers may receive several commands during an initial connection. This
occurs when a SCSI initiator port uses the multiple command option in the SPI L_Q information unit. For each
SPI L_Q received with a multiple command type or a last command type, a logical connection occurs and an
I_T_L_Q nexus is formed.
If there is a phase change to a MESSAGE OUT phase or a MESSAGE IN phase, then there is no logical dis-
connect and the I_T_L_Q nexus remains in place. If a DT DATA phase follows the message phase, then the
L_Q portion of the current I_T_L_Q nexus shall be replaced with the L_Q in the next SPI L_Q information unit.
114
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
SELECTION
DT DATA OUT
SPI L_Q
(always Init to Targ)
(logical connect)
[1]
Attention
Condition
SPI COMMAND
(always Init to Targ)
[2]
(logical disconnect)
BUS
DT DATA IN
(to SPI L_Q/DATA [3]
or
MESSAGE MESSAGE
FREE
IN
OUT
(physical
disconnect) SPI L_Q/STATUS [4])
(QAS or WDTR)
[1] See Table 49 for the format of the SPI L_Q information unit.
[2] See Table 46 for the format of the SPI Command information unit.
Figure 15. SPI information unit sequence during initial connection
Parallel SCSI Interface Product Manual, Rev. A
115
Download from Www.Somanuals.com. All Manuals Search And Download.
DT DATA IN
(from SPI STATUS
or SPI DATA)
DT DATA OUT
(from SPI COMMAND
or SPI DATA)
RESELECTION
DT DATA IN
SPI L_Q
(always Targ to Init)
(logical reconnect)
[1]
(data pointer restored)
Attention
Condition
DT DATA OUT
or
DT DATA IN
[2]
SPI DATA
(data pointer saved)
(logical disconnect)
DT DATA IN
to SPI L_Q/STATUS [3]
MESSAGE OUT
BUS FREE
MESSAGE IN
(physical
disconnect)
[1] See Table 49 for the format of the SPI L_Q information unit.
[2] See Table 52 for the format of the SPI Data information unit.
Figure 16. SPI information unit sequence during data type transfers
116
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
DT DATA IN
(from SPI STATUS
or SPI DATA)
DT DATA OUT
(from SPI COMMAND
or SPI DATA)
RESELECTION
DT DATA IN
SPI L_Q
(always Targ to Init)
(logical reconnect)
[1]
(data pointer restored)
Attention
Condition
DT DATA IN
or
DT DATA OUT
[2]
SPI DATA
(data pointer saved)
[4]
(logical disconnect)
DT DATA IN
to SPI L_Q/STATUS [3]
MESSAGE OUT
BUS FREE
MESSAGE IN
(physical
disconnect)
[1] See Table 49 for the format of the SPI L_Q information unit.
[2] See Table 53 for the format of the SPI Data information unit.
Figure 17. SPI information unit sequence during data stream type transfers
Parallel SCSI Interface Product Manual, Rev. A
117
Download from Www.Somanuals.com. All Manuals Search And Download.
RESELECTION
DT DATA OUT
(from SPI DATA
or SPI COMMAND)
DT DATA IN
(from SPI DATA)
DT DATA IN
[1]
SPI L_Q
(always Targ to Init)
(logical reconnect)
(data pointer
restored)
Data
Length
= 0
Attention
Condition
SPI STATUS
(always Targ to Init)
[2]
(logical disconnect)
BUS FREE
DT DATA IN
MESSAGE
MESSAGE
OUT
(physical (to SPI L_Q/DATA [3])
disconnect)
IN
(to QAS)
[1] See Table 49 for the format of the SPI L_Q information unit.
[2] See Table 54 for the format of the SPI Status information unit.
Figure 18. SPI information unit sequence during status transfers
6.2
SPI information units
6.2.1
SPI command information unit
The SPI command information unit (see Table 46) transfers CDBs, task attributes, and task management
requests to be performed by a device server.
a SCSI initiator port shall consider a BUS FREE phase after the transfer of a SPI command information unit to
be equivalent to receiving a DISCONNECT message.
If a SCSI target port does not have the resources to accept a SPI command information unit and the Task Man-
agement Flags field equals 00h the target shall transfer all the bytes of the current SPI command information
unit but need not hold the transmitted information. After transferring all the SPI command information unit bytes
the target shall change to a DT DATA IN phase and transmit a SPI status information unit with the status
defined in the SCSI Architecture Model-4 standard (SAM-4) for this condition. If the initiator has more com-
mands to send the target, the initiator shall wait at least until the next selection before those remaining com-
mands may be sent.
118
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
If the Task Management Flags field is a supported value not equal to 00h, the target shall perform the selected
task management function before processing any further SPI information units regardless of the command
type. On completion of a support task management function, the target shall go to a BUS FREE phase. No SPI
status information unit shall be reported for the task management function. If the Task Management Flags field
is not a supported value, then the task manager shall terminate the task with a Good status and the packetized
failure code shall be set to task management function not supported. If a task management function fails, the
task manager shall terminate the task with a Good status. The packetized failure code shall be set to task man-
agement function failed.
If the target terminates a SPI L_Q/SPI command information unit pair for one of the following reasons:
a. Task Set Full status,
b. Busy status,
c. Check Condition due to a SPI command information unit iuCRC error, or
d. a bus free due to a SPI L_Q information unit iuCRC error,
it shall have no effect on any other SPI L_Q/SPI command information unit pair beyond those caused by any
task management functions contained within the last SPI L_Q/SPI command information unit pair.
Table 46:
SPI command information unit
Bit
7
6
5
4
3
2
1
0
Byte
0
1
2
Reserved
Reserved
Task Attribute [1] [7]
Task Management Flags [2] [7]
ADDITIONAL CDB LENGTH = (number of additional CDB bytes)/4 [3]
WRDATA
[4]
3
RDDATA [4]
4
(MSB)
CDB [5] [7] [8]
19
(LSB)
(LSB)
20
(MSB)
Additional CDB [6] [7] [8]
n
n+1
n+2
n+3
n+4
(MSB)
iuCRC [9]
(LSB)
[1] The Task Attribute field is defined in Table 47.
Parallel SCSI Interface Product Manual, Rev. A
119
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 47:
Task Attribute
Description
Codes
Requests that the task be managed according to the rules for a simple task attribute. See the SCSI
Architecture Model-4 standard.
000b
001b
Requests that the task be managed according to the rules for head of queue task attribute. See the
SCSI Architecture Model-4 standard.
Requests that the task be managed according to the rules for an ordered attribute. See the SCSI
Architecture Model-4 standard.
010b
011b
Reserved.
Requests that the task be managed according to the rules for a simple task attribute. See the SCSI
Architecture Model-4 standard.
100b
101b-111b
Reserved.
[2] The Task Management Flags field is defined in Table 48. If a Task Management function fails, the Task
Manager shall terminate the task with Good status. The packetized failure code shall be set to Task Man-
agement Function Failed.
Table 48:
Task Management flags
Codes Description
00h
01h
02h
Indicates no task management requests for the current task.
The task manager shall abort the task set as defined in the ABORT TASK SET message (see Section
4.5.3).
04h
08h
20h
40h
The task manager shall clear the task set as defined in the CLEAR TASK SET message (see Section
4.5.5).
The task manager shall perform a hard reset to the selected logical unit as defined in the LOGICAL UNIT
The task manager shall perform a hard reset as defined in the TARGET RESET message (see Section
4.5.7).
All other The task manager shall terminate the task with a Good status. The packetized failure code shall be set to
values
reserve
d
Task Management Function Not Supported.
[3] The Additional CDB Length field contains the length in 4-byte words of the Additional CDB field.
[4] The Write Data (WRDATA) bit and READ Data (RDDATA) bit are defined in SCSI protocol standards T10/
1144D (FCP-2), sections 9.1, 9.1.16, and 9.1.17. They are also discussed in the Seagate Fibre Channel
Interface Manual, part number 77767496. These two bits are used by drives in a Fibre Channel I/O sys-
tem and shall be ignored by this section.
[5] The CDB field contains the actual CDB to be interpreted by the addressed logical unit. The maximum
CDB length is 16 bytes. The CDB field and the task attribute field is not valid and is ignored if the Task
120
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Management Flags field is not zero. Any bytes between the end of a 6 byte CDB, 10 byte CDB, or 12 byte
CDB and the end of the CDB field shall be reserved.
[6] The Additional CDB field contains any CDB bytes beyond those contained within the standard 16 byte
CDB field.
[7] The CDB, Additional CDB, and Task Attribute fields are not valid and are ignored if the Task Management
Flags field is not zero.
[8] The contents of the CDB and Additional CDB fields shall be as defined in the SCSI command standards.
[9] The iuCRC field shall use the algorithm defined in Subsection 11.3 of ANSI SCSI Parallel Interface (SPI-
5).
6.2.2
SPI L_Q information unit
The SPI L_Q information unit (see Table 49) contains L_Q nexus (Logical unit—Q tag relationship) information
for the information unit that follows, the type of information unit that follows, and the length of information unit
that follows. A SPI L_Q information unit shall precede all SPI command information units, SPI multiple com-
mand information units, SPI data information units, SPI status information units, and the first of an uninter-
rupted sequence of SPI data stream information units.
The receipt of an error free (i.e., no iuCRC error) SPI L_Q information unit by a SCSI initiator port shall cause
the initiator to restore the data pointer.
Table 49:
SPI L_Q information unit
Bit
7
6
5
4
3
2
1
0
Byte
0
1
Type [1]
Reserved
2
MSB
MSB
Tag [2]
3
LSB
4
5
6
7
Logical Unit Number [3]
8
9
10
11
12
LSB
Reserved
Parallel SCSI Interface Product Manual, Rev. A
121
Download from Www.Somanuals.com. All Manuals Search And Download.
Bit
Byte
7
6
5
4
3
2
1
0
13
14
15
16
17
18
19
20
21
22
23
MSB
Data Length [4]
LSB
BIDI Direction [5]
Reserved
Reserved
MSB
MSB
iuCRC Interval [6]
LSB
iuCRC [7]
LSB
[1] The Type field is defined in Table 50. If a SCSI initiator port receives a type code that is not defined in
Table 50, that initiator shall follow the procedures defined in Section 3.5.2.2.1.1. If a SCSI target port
receives a type code that is not defined in Table 50, that target shall follow the procedures defined in Sec-
122
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 50:
SPI L_Q information unit type
Codes
Type
Description
Sent by a SCSI initiator port device to indicate a SPI command information unit shall follow
this SPI L_Q information unit. Indicates the initiator device shall not send any more SPI com-
mand information units during the current connection. The value of the Data Length field shall
Last
01h
Command be greater than or equal to 14h and less than or equal to 90h. The iuCRC Interval field shall be
set to zero and ignored by the target device. The Bidi Direction field shall be set to zero and
ignored by the receiving SCSI target device.
Sent by a SCSI initiator port device to indicate a SPI command information unit shall follow
this SPI L_Q information unit. Indicates the initiator device has another SPI L_Q information
unit and SPI command information unit during the current connection. The value of the Data
Multiple
02h
Length field shall be greater than or equal to 14h and less than or equal to 90h. The iuCRC
Command
Interval field shall be set to zero and ignored by the SCSI target device. The IUCRC Interval
field shall be set to zero and ignored by the SCSI target device. The BIDI Direction field shall
be set to zero and ignored by the receiving target device.
Sent by a SCSI target port device to indicate a SPI data information unit shall follow this SPI
L_Q information unit. The Data Length field shall not be set to zero. For a bidirectional com-
mand, the direction of the SPI data information unit shall be indicated in the BIDI Direction
04h
05h
Data
Sent by a SCSI target port device to indicate an unspecified number of SPI data stream infor-
Data
stream
mation units shall follow this SPI L_Q information unit. The Data Length field shall not be set to
zero. For a bidirectional command, the direction of the SPI data stream information units shall
Sent by a SCSI target port device to indicate a SPI status information unit may follow this SPI
L_Q information unit. A length of zero in the Data Length field shall indicate no SPI status
val field shall be set to zero and ignored by the SCSI target device. The BIDI Direction field
shall be set to zero and ignored by the receiving SCSI initiator device.
08h
Status
F0H -
FFh
vendor-specific.
Reserved.
All
others
[2] Tag field is a 16-bit unsigned integer assigned by the application client and sent to the initiator in the Send
[3] The Logical Unit Number field specifies the address of the logical unit of the I_T_L_Q nexus for the cur-
rent task. The structure of the Logical Unit Number field shall be as defined in the SCSI Architecture
Model-4 standard, Section 4.11. If the addressed logical unit does not exist, the task manager shall follow
the SCSI rules for selection of invalid logical units as defined in the SCSI Primary Commands - 4 (SPC-4)
standard. The eight bytes in this field provide 4 levels of addressing. Bytes 4-5 address the first level, etc.
to bytes 10-11, which address the fourth level. If LUN in SPI LQ information unit packet is X which is
greater than 0x3F (>63), then the LUN in ID message sent back will be set to 0x3F (63). If LUN in SPI LQ
information unit packet is X which is not greater than 0x3F (>63), then the LUN in ID message sent back
will be set to X.
[4] The Data Length field contains the length in bytes of the following information units. For SPI data stream
information units, the data length field contains the length in bytes of each SPI data stream information
unit that follows (i.e., the total number of bytes transferred would equal the data length times the number
of SPI data stream information units transferred). The data length shall not include any of the 4-byte
iuCRC nor any transmitted pad bytes (e.g., a data length of 509 with a iuCRC interval of zero or greater
Parallel SCSI Interface Product Manual, Rev. A
123
Download from Www.Somanuals.com. All Manuals Search And Download.
than 509 would transfer 509 bytes of data plus 3 bytes of pad plus 4 bytes of iuCRC for a total transfer of
516 bytes). The target shall not set the data length to a value that exceeds the maximum burst size as
defined in the disconnect-reconnect page (see Seagate SCSI Command Reference Manual, Part number
100293068.)
[5] The BIDI Direction field determines the data direction if the command is a bidirectional command and the
type code is data or data stream. The code values for the BIDI Direction field are defined below.
Table 51:
Codes
00b
BIDI Direction
Description
A unidirectional command or a type code other than data or data stream (see Table 50).
A bidirectional command transferring data from the SCSI initiator device to the SCSI target
device.
01b
A bidirectional command transferring data from the SCSI target device to the SCSI initiator
device.
10b
11b
Reserved.
[6] The iuCRC Interval field contains the length in bytes of the data to be sent before a iuCRC is transferred.
The iuCRC interval length shall not include the 4 byte iuCRC nor any transmitted pad bytes (e.g., an
iuCRC interval length of 510 transfer 510 bytes of data plus 2 bytes of pad plus 4 bytes of iuCRC for a
total transfer of 516 bytes). The iuCRC interval shall be a multiple of two (i.e., odd numbers are not
allowed). If the iuCRC interval is equal to zero or is greater than or equal to the data length only one
iuCRC shall occur at the end of the SPI information unit.
[7] The iuCRC field shall use the algorithm defined in Subsection 11.3 of the ANSI SCSI Parallel Interface
(SPI-5).
124
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
6.2.3
SPI data information unit
The SPI data information unit (see Table 52) contains data.
The detection of a BUS FREE phase following a SPI data information unit by a SCSI initiator port shall be
equivalent to the initiator receiving a DISCONNECT message.
The detection of a QAS REQUEST message following a SPI data information unit by a SCSI initiator port shall
be equivalent to the initiator receiving a DISCONNECT message.
Table 52:
SPI data information unit
Bit
7
6
5
4
3
2
1
0
Byte
0
MSB
DATA [1]
n
LSB
n+1
n+2
n+3
n+4
MSB
iuCRC [2]
LSB
[1] The Data field may contain any type of information (e.g., parameter lists, mode pages, user data).
[2] The iuCRC field shall use the algorithm defined in Subsection 11.3 of ANSI SCSI Parallel Interface (SPI-
5), T10/1525D. If the iuCRC Interval field of the SPI L_Q information unit contains a value greater than
zero and less than the data length, then there is an iuCRC field at each iuCRC interval in addition to the
iuCRC shown in this table. These additional iuCRC fields are not shown in this table.
6.2.4
SPI data stream information unit
The SPI data stream information unit (see Table 53) contains data.
All the SPI data stream information units transferred after a SPI L_Q information unit with a type of data stream
shall be the size indicated in the Data Length field of the SPI L_Q information unit.
If the data transfer size is not a multiple of the data length, the SCSI target shall end the stream at a data length
boundary and shall send a new SPI L_Q with a smaller data length to finish the data transfer. The new SPI L_Q
may or may not be sent during the current physical connection.
During write streaming, the sequence of SPI data stream information units shall end with any change to the C/
D, I/O, or MSG signals on a SPI data stream information unit boundary. If during write streaming SPI data
stream information nits a SCSI initiator detects a REQ transition after transmitting the last iuCRC for a SPI data
stream information unit that initiator shall transmit the next SPI data stream information unit.
During read streaming, the SCSI target shall end a sequence of SPI data stream information units by perform-
ing one of the following:
a. should assert the P_CRCA signal before the end of the current SPI data stream information unit bound-
ary; or
b. may change the C/D, I/O, or MSG signals on a SPI data stream information unit boundary.
If, during the last SPI data stream information unit of a read stream, the P_CRCA signal was not asserted and
a SCSI initiator detects a REQ transition after receiving the last iuCRC for a SPI data stream information unit,
that initiator shall receive the next SPI data stream information unit. If, during the last SPI data stream informa-
Parallel SCSI Interface Product Manual, Rev. A
125
Download from Www.Somanuals.com. All Manuals Search And Download.
tion unit the P_CRCA signal was asserted and a SCSI initiator port detects a REQ transition after receiving the
last iuCRC for a SPI data stream information unit, that SCSI initiator shall logically disconnect from the current
I_T_L_Q nexus.
If, during a sequence of SPI data stream information units a SCSI initiator detects any change to the C/D, I/O,
or MSG signals after transmitting or receiving the last iuCRC for a SPI data stream information unit, that initia-
tor shall consider the current I/O process to be logically disconnected or in the case of detecting a BUS FREE
phase or a MESSAGE IN phase to be physically disconnected.
The detection of a BUS FREE phase following a SPI data stream information unit by a SCSI initiator shall be
equivalent to the initiator port receiving a DISCONNECT message.
The detection of a QAS REQUEST message following a SPI data stream information nit by a SCSI initiator
shall be equivalent to the initiator receiving a DISCONNECT message.
To end a sequence of SPI data stream information units, a SCSI initiator may request a disconnect by estab-
lishing an attention condition. The initiator shall continue to transfer or receive data, pad bytes (if any), and
iuCRCs until the target changes to the MESSAGE OUT phase.
During a sequence of SPI data stream information units the offset count is not required to go to zero at the
boundary of any SPI data stream information unit if the next SPI information unit is a SPI data stream informa-
tion unit.
Table 53:
SPI status data stream information unit
Bit
7
6
5
4
3
2
1
0
Byte
0
MSB
DATA [1]
n
LSB
n+1
n+2
n+3
n+4
MSB
iuCRC [2]
LSB
[1] The Data field may contain any type of information (e.g., parameter lists, mode pages, user data).
[2] The iuCRC field shall use the algorithm defined in Subsection 11.3 of ANSI SCSI Parallel Interface (SPI-
5). If the iuCRC Interval field of the SPI L_Q information unit contains a value greater than zero and less
than the data length, then there is an iuCRC field at each iuCRC interval in addition to the iuCRC shown in
this table. These additional iuCRC fields are not shown in this table.
126
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
6.2.5
SPI status information unit
The SPI status information unit (see Table 54) contains the completion status of the task indicated by the pre-
ceding SPI L_Q information unit. The target shall consider the SPI status information unit transmission to be
successful when there is no attention condition on the transfer of the information unit.
If a task completes with a Good status, a SNSVALID bit of zero, and a RSPVALID bit of zero, then the target
Table 54:
SPI status information unit
Bit
7
6
5
4
3
2
1
0
Byte
0
1
Reserved
Reserved
SNSVALID RSPVALID
2
Reserved
Reserved for FCP [1]
[2]
[4]
3
4
STATUS [5]
MSB
MSB
MSB
MSB
MSB
SENSE DATA LIST LENGTH (n-m) [3]
7
LSB
LSB
LSB
LSB
8
PACKETIZED FAILURES LIST LENGTH [4]
PACKETIZED FAILURES [4]
11
12
m
1+m
n
SENSE DATA LIST [3]
n+1
n+2
n+3
n+4
iuCRC [6]
LSB
[1] Reserved for Fiber Channel Protocol.
[2] A Sense Data Valid (SNSVALID) bit of zero indicates the sense data list length shall be ignored and no
sense data is provided. A SNSVALID bit of one indicates the Sense Data List Length field specifies the
number of bytes in the Sense Data field.
[3] If sense data is provided, the Sense Data Valid (SNSVALID) bit shall be set to one and the Sense Data
List Length field shall specify the number of bytes in the Sense Data field. The Sense Data List Length
field shall only contain even lengths greater than zero and shall not be set to a value greater than 252. If
no sense data is provided, the sense data valid bit shall be set to zero. The initiator shall ignore the Sense
Parallel SCSI Interface Product Manual, Rev. A
127
Download from Www.Somanuals.com. All Manuals Search And Download.
Data List Length field and shall assume a length of zero.
[4] If packetized failure data is provided, the Packetized Failures Valid (RSPVALID) bit shall be set to one and
the Packetized Failures List Length field shall specify the number of bytes in the Packetized Failures field.
The Packetized Failures List Length field shall contain a length of 4. Other lengths are reserved for future
standardization. If no packetized failure data is provided, the packetized failures valid bit shall be set to
zero. The initiator shall ignore the Packetized Failures List Length field and shall assume a length of zero.
The Packetized Failures field (see Table 55) contains information describing the packetized failures
detected during the execution of a task. The Packetized Failures field shall contain valid information if the
target detects any of the conditions described by the packetized failure code (see Table 56).
[5] The Status field contains the status of a task that completes. See Section 7.3, Table 64, for a list of status
codes.
[6] The iuCRC field shall use the algorithm defined in Subsection 11.3, ANSI SCSI Parallel Interface (SPI-5),
T10/1525D.
The Packetized Failures field (see Table 55) contains information describing the packetized failures detected
during the execution of a task. The Packetized Failures field shall contain valid information if the target detects
any of the conditions described by the packetized failure code (see Table 56).
Table 55:
Packetized Failures field
Bit
7
6
5
4
3
2
1
0
Byte
0
1
2
3
Reserved
Reserved
Reserved
PACKETIZED FAILURE CODE [1]
[1] The Packetized Failures Code is defined in Table 56.
Table 56:
Codes
00h
Packetized Failures code
Description
Indicates no failure or task management function complete.
Reserved.
01h
02h
SPI command information unit fields invalid.
Reserved.
03h
04h
The task management function not supported.
The task management function failed.
Reserved.
05h
06h-FFh
The Sense Data field contains the information specified by the SCSI Primary Commands-4 (SPC-4), T10/1731-
D, for presentation by the REQUEST SENSE command (see Seagate SCSI Command Reference Manual,
Part number 100293068). The proper sense data shall be presented when a SCSI status byte of Check Condi-
tion is presented as specified by the SCSI Primary Commands-4 (SPC-4), T10/1731-D and this manual.
128
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
130
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
7.0
SCSI commands
This section defines the SCSI command structure and describes a typical SCSI bus procedure involving a
command, status return, and message interchange.
The command structure defined herein provides for a contiguous set of logical blocks of data to be transferred
across the interface. The number of logical data blocks to be transferred is defined in the command. Initiator
commands to the drive are structured in accordance with the requirements imposed by the drive physical char-
acteristics. These physical characteristics are reported to the initiator in response to an INQUIRY command.
A single command may transfer one or more logical blocks of data. The drive may disconnect, if allowed by the
initiators, from the SCSI bus to allow activity by other SCSI devices while the drive performs operations within
itself.
Upon command completion (which may be executed either successfully or unsuccessfully), the drive returns a
status byte to the initiator. Since most error and exception conditions cannot be adequately described with a
single status byte, one status code that can be sent as the status byte is called Check Condition. It indicates
that additional information is available. The initiator may issue a REQUEST SENSE command to request the
return of the additional information as part of the DATA IN phase of the command.
Future implementations of the SCSI protocol will contain an autosense feature (see Section 7.6.4.2) allowing
the application client to request the automatic return of sense data. Fibre Channel protocol already has this
feature in its packetized command structure.
7.1
Command implementation requirements
The first byte of any SCSI command contains an operation code as defined in this document. Three bits (bits
7-5) of the second byte of each SCSI command have historically been used to specify the logical unit if it is not
specified using the Identify Message (see Section 4). These three bits are now shown as “Reserved” in the
new Command data block format. The last byte of most SCSI commands contains a control field. The excep-
tion to this is the new variable length CDB which has the control field in the second byte, rather than the last.
7.1.1
Reserved
Reserved bits, bytes, fields, and code values are set aside for future standardization. Their use and interpreta-
tion may be specified by future revisions to this specification. A reserved bit, field, or byte shall be set to zero,
or in accordance with a future revision to this specification. A drive that receives a reserved code value shall
terminate the command with a CHECK CONDITION status and the Sense Key shall be set to ILLEGAL
REQUEST. It shall also be acceptable for the drive to interpret the bit, field, byte, or code value in accordance
with a future revision to this specification.
7.2
Command Descriptor Block (CDB)
A request by a SCSI initiator port to a drive is performed by sending a Command Descriptor Block (CDB) to the
drive. For several commands, the request is accompanied by a list of parameters sent during the DATA OUT
phase. The field uses shown in tables 57, 58, 59, 60, and most of those in 61 are used consistently by most
commands. See the specific commands for detailed information.
Parallel SCSI Interface Product Manual, Rev. A
131
Download from Www.Somanuals.com. All Manuals Search And Download.
The Command Descriptor Block always has an operation code as the first byte of the command. This is fol-
lowed by command parameters (if any), and a control field.
For all commands, if there is an invalid parameter in the Command Descriptor Block, the drive shall terminate
the command without altering the medium.
The format description for the Command Descriptor Block as supported by Seagate drives is shown in tables
57, 58, 59, 60, and 61.
132
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
7.2.1
Fixed and variable length Command Descriptor Block formats
For all commands, if there is an invalid parameter in the command descriptor block, the device server termi-
nates the command without altering the medium.
Table 57 shows the typical format of a 6-byte CDB. Table 58 shows a typical format of a 10-byte CDB. Table 59
shows the typical format of a 12-byte CDB. Table 60 shows the typical format of a 16-byte CDB. Table 61
shows the typical format for a variable length CDB.
Table 57:
Typical CDB for 6-byte commands
Bit
Byte
7
6
5
4
3
2
1
0
0
1
2
3
OPERATION CODE [1]
(MSB)
Reserved
LOGICAL BLOCK ADDRESS (if required) [3]
(LSB)
TRANSFER LENGTH (if required) [4]
PARAMETER LIST LENGTH (if required) [5]
ALLOCATION LENGTH (if required) [6]
4
5
CONTROL [7]
See notes following Table 61.
Table 58:
Typical CDB for 10-byte commands
Bit
Byte
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
OPERATION CODE [1]
SERVICE ACTION (if required) [2]
Reserved
(MSB)
LOGICAL BLOCK ADDRESS (if required) [3]
(LSB)
(LSB)
Reserved
(MSB)
TRANSFER LENGTH (if required) [4]
PARAMETER LIST LENGTH (if required) [5]
ALLOCATION LENGTH (if required [6]
CONTROL [7]
See notes following Table 61.
Parallel SCSI Interface Product Manual, Rev. A
133
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 59:
Typical CDB for 12-byte commands
Bit
Byte
7
6
5
4
3
2
1
0
0
1
OPERATION CODE [1]
SERVICE ACTION (if required) [2]
Reserved
2
3
4
5
(MSB)
LOGICAL BLOCK ADDRESS (if required) [3]
(LSB)
(LSB)
6
7
(MSB)
TRANSFER LENGTH (If required) [4]
PARAMETER LIST LENGTH (if required) [5]
ALLOCATION LENGTH (if required) [6]
8
9
10
11
Reserved
CONTROL [7]
See notes following Table 61.
Table 60:
Typical CDB for 16-byte commands
Bit
Byte
7
6
5
4
3
2
1
0
0
1
OPERATION CODE [1]
SERVICE ACTION (if required) [2]
Reserved
2
3
4
5
(MSB)
Logical Block Address (if required) [3]
(LSB)
(LSB)
6
7
8
9
(MSB)
ADDITIONAL CDB DATA (if required) [9]
134
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Bit
Byte
7
6
5
4
3
2
1
0
10
11
12
13
14
15
(MSB)
TRANSFER LENGTH (If required) [4]
PARAMETER LIST LENGTH (if required) [5]
ALLOCATION LENGTH (if required) [6]
(LSB)
Reserved
CONTROL [7]
See notes following Table 61.
Table 61:
Typical variable length CDB
Bit
Byte
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
9
OPERATION CODE (7Fh) [1]
CONTROL [7]
Reserved
Reserved
Reserved
ENCRYPTION IDENTIFICATION [8]
Reserved
ADDITIONAL CDB LENGTH (n–7) [9]
(MSB)
SERVICE ACTION [2]
(LSB)
10
:
SERVICE ACTION SPECIFIC FIELDS [10]
n
Notes for Tables 57, 58, 59, 60, and 61.
[1] The Operation Code field of the Command Descriptor Block contains the code value indentifying the oper-
ation being requested by the CDB. The Operation Code provides for a possible 256 command operation
codes. Details of the various commands with their operation codes are defined in Section 8.0 of this man-
ual.
[2] Service Action. All typical CDB formats except the typical 6-byte format provide for a Service Action field
containing a coded value identifying a function to be performed under the more general command func-
tion specified in the Operation Code field. While the Service Action field is defined for typical CDB formats,
it is used as described in this clause only in those CDB formats that explicitly contain a Service Action
field. When the specific field Service Action is not defined in a CDB format, the bits identified as the Ser-
vice Action field in a typical CDB may be used for other purposes. More details appear on this in Section
Parallel SCSI Interface Product Manual, Rev. A
135
Download from Www.Somanuals.com. All Manuals Search And Download.
8.0 where the details of each command are described.
[3] The Logical Block Address on logical units or within a partition on device volumes shall begin with block
zero and be contiguous up to the last logical block on that logical unit or within that partition.
A six-byte command descriptor block contains a 21-bit Parameter List Length field. The 10-byte, the 12-
byte and the 16-byte command descriptor blocks contain 32-bit Logical Block Address fields. Logical
Block Address fields in additional parameter data have their length specified for each occurrence. See the
specific command descriptions.
[4] The Transfer Length specifies the amount of data to be transferred, usually the number of blocks. For sev-
eral 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 Transfer Length allow up to 256 blocks of data to be transferred by one
command. A Transfer Length value of 1 to 255 indicates the number of blocks that shall be transferred. A
value of zero indicates 256 blocks.
Commands that use two bytes for Transfer Length 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 shall take place. A
value of 1 to 65,535 indicates the number of blocks that shall be transferred.
For several commands more than two bytes are allocated for Transfer Length. Refer to the specific com-
mand description for further information.
The Transfer Length of the commands that are used to send a list of parameters to a drive is called the
Parameter List Length. The Parameter List Length specifies the number of bytes sent during the DATA
OUT phase.
The Transfer Length of the commands used to return sense data (e.g., REQUEST SENSE, INQUIRY,
MODE SENSE, etc.) to a SCSI initiator port is called the Allocation Length. The Allocation Length speci-
fies the number of bytes that the initiator has allocated for returned data. The drive shall terminate 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.
[5] The Parameter List Length field is used to specify the number of bytes sent from the Data-Out Buffer. This
field is typically used in command descriptor blocks for parameters that are sent to a device server (e.g.,
mode parameters, diagnostic parameters, log parameters, etc.). A parameter length of zero indicates that
no data shall be transferred. This condition shall not be considered as an error.
[6] The Allocation Length field specifies the maximum number of bytes that an application client has allocated
for returned data. An allocation length of zero indicates that no data shall be transferred. This condition
shall not be considered as an error. The device server shall terminate transfers to the Data-In Buffer when
allocation length bytes have been transferred or when all available data have been transferred, whichever
is less. The allocation length is used to limit the maximum amount of data (e.g., sense data, mode data,
log data, diagnostic data, etc.) returned to an application client. If the information being transferred to the
Data-In Buffer includes fields containing counts of the number of bytes in some or all of the data, the con-
tents of these fields shall not be altered to reflect the truncation, if any, that results from an insufficient allo-
cation length value, unless the standard that describes the Data-In Buffer format specifically states
otherwise. If the amount of information to be transferred exceeds the maximum value that may be speci-
fied in the Allocation Length field, the device server shall transfer no data and return a CHECK CONDI-
TION status; the sense key shall be set to ILLEGAL REQUEST and the additional sense code shall be set
to Invalid Field in CDB.
[7] Only the Control fields have consistently defined meanings across all commands. The Control field is the
last byte of every command descriptor block, except for the variable length CDB format. The Control field
is defined in Table 62.
136
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 62:
Control field
Bit
Byte
7
6
5
4
3
2
1
0
Obsolete
[c]
LINK [b]
0 or 1
Last
VENDOR-SPECIFIC
Reserved
NACA [a]
[a] The Normal Auto Contingent Allegiance (NACA) bit is used to control the rules for handling an Auto
actions to be taken by the logical unit in response to an ACA condition for NACA bit values of one or
zero. All drives implement support for the NACA value of zero and may support the NACA value of
one. The ability to support an NACA value of one is indicated in standard INQUIRY data. See
Seagate SCSI Command Reference Manual, Part number 100293068.
If the NACA bit is set to a value that is not supported, the drive completes the command with a status
of Check Condition and a sense key of ILLEGAL REQUEST. The procedure for handling the result-
ing ACA condition operates in accordance with the supported bit value.
[b] The Link bit allows the drive to continue the task across multiple commands. Support for the Link bit
is a logical unit option. A Link bit of one indicates that the initiator requests continuation of the task
across two or more SCSI commands. If the Link bit is one and if the command completes success-
fully, a drive that supports the Link bit continues the task and returns a status of Intermediate or Inter-
mediate–Condition Met and a service response of LINKED COMMAND COMPLETE message (see
of ILLEGAL REQUEST if the Link bit is set to one and the drive does not support linked commands.
[c] Obsolete bit. Bit 0 provides an obsolete way to request interrupts between linked commands. If bit 0
is equal to one, device servers not implementing the obsolete capability (Link bit was formerly in this
bit position and Flag bit was in bit 1 position) terminate the command with CHECK CONDITION sta-
tus and the sense key shall be set to ILLEGAL REQUEST.
[8] The Encryption Identification field indicates whether CDB bytes 8 through n and/or the data bytes are
encrypted. The value also indicates which encryption key to use for decryption. A value of zero indicates
no encryption. All other values are reserved.
[9] The Additional CDB Length field indicates the number of additional CDB bytes. This value in the Addi-
tional CDB Length field shall be a multiple of 4.
[10] Service Action specific fields. The Service Action field indicates the action being requested by the applica-
tion client. The Service Action field is required in the variable length CDB format and is described in Note
[2]. Each service action code description defines a number of service action specific fields that are
needed for that service action. If the device server detects an error during decryption of encrypted CDB
bytes, it shall return CHECK CONDITION status with an additional sense code of CDB Decryption Error. If
the device server detects an error during decryption of encrypted data bytes, it shall return CHECK CON-
DITION status with an additional sense code of Data Decryption Error.
Parallel SCSI Interface Product Manual, Rev. A
137
Download from Www.Somanuals.com. All Manuals Search And Download.
7.3
Status
A Status byte shall be sent from the target to the initiator during the STATUS phase at the termination of each
command as specified in Tables 63 and 64 unless the command is cleared by one of the following conditions:
1. an Abort message
2. a Bus Device Reset message
3. a hard reset condition
5. an ABORT TASK message
6. a CLEAR TASK SET message
Table 63:
Status byte
7
Bit
6
5
4
3
2
1
0
Byte
0
Reserved
Status byte code bit values
Status represented
Good
STATUS BYTE CODE
Reserved
Table 64:
Status byte
Task Ended
Yes
00h
02h
Check Condition
Condition Met/Good
Busy
Yes
04h
Yes
08h
Yes
10h
Intermediate/Good
Intermediate/Condition Met
Reservation Conflict
Obsolete [2]
No
14h
No
18h
Yes
22h
Yes
28h
30h
Queue Full/Task Set Full [1]
ACA Active
Yes
Yes
40h
Task Aborted
Yes
All other codes
Reserved
[1] What was formerly called a “Command Queue” is now called a “Task Set.”
[2] Formerly “Command Terminated.”
A description of the status byte codes is given below.
Good. This status indicates that the Device Server has successfully completed the task.
Check Condition. This status indicates that an auto contingent allegiance or contingent allegiance condition
has occurred (see Section 7.6.1). Optionally, autosense data may be delivered (see Section 7.6.4.2).
Condition Met. This status shall be returned whenever the requested operation specified by an unlinked
command is satisfied (see the PREFETCH commands in ANSI SCSI Block Commands-2, T10/1417D).
138
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Busy. This status indicates that the logical unit is busy. This status shall be returned whenever a logical unit is
unable to accept a command from an otherwise acceptable initiator (i.e., no reservation conflicts). The recom-
mended initiator recovery action is to issue the command again at a later time.
Intermediate. This status or Intermediate-Condition Met shall be returned for each successfully completed
command in a series of linked commands (except the last command), unless the command is terminated with
Check Condition, Reservation Conflict, Task Set Full, Busy status. If Intermediate or Intermediate-Condition
Met status is not returned, the series of linked commands is terminated and the task is ended.
Intermediate–Condition Met. This status is returned whenever the operation requested by a linked command
is satisfied (see the PREFETCH commands in ANSI SCSI Block Commands-2, T10/1417D), unless the com-
mand is terminated with Check Condition, Reservation Conflict, Task Set Full, Busy status. If Intermediate or
Intermediate-Condition Met status is not returned, the series of linked commands is terminated and the task is
ended.
Reservation Conflict. This status shall be returned whenever a SCSI initiator port attempts to access a logical
unit or an element of a logical unit that is reserved with a conflicting reservation type for another SCSI initiator.
(See the RESERVE, RELEASE, PERSISTENT RESERVE OUT and PERSISTENT RESERVE IN commands
in ANSI SCSI Primary Commands - 4, T10/1731-D). The recommended initiator recovery action is to issue the
command again at a later time. Removing a persistent reservation belonging to a failing initiator may require
the execution of a PERSISTENT RESERVE OUT command with the Preempt or Preempt and Clear actions
(see the SPC-4 standard, T10/1731-D).
Task Set Full. This status shall be implemented if the logical unit supports the creation of tagged tasks (see
Section 7.7). This status shall not be implemented if the logical unit does not support the creation of tagged
tasks.
When the logical unit has at least one task in the task set for a SCSI initiator port and a lack of task set
resources prevents entering a newly received tagged task from that initiator in the task set, Task Set Full shall
be returned. When the logical unit has no task in the task set for a SCSI initiator port and a lack of task set
resources prevents entering a newly received tagged task from that initiator in the task set, Busy should be
returned.
When the logical unit has at least one task in the task set and a lack of task set resources prevents entering a
newly received untagged task in the task, Busy should be returned.
The logical unit should allow at least one queued command for each supported initiator that has identified itself
to the target by a protocol specific procedure or by the successful transmission of a command.
ACA Active. This status shall be returned when an auto contingent allegiance exists within a task set and a
SCSI initiator port issues a command for that task set when at least one of the following is true:
a. There is a task with the ACA attribute in the task set;
b. The initiator issuing the command did not cause the ACA condition; or
c. The task created to execute the command did not have the ACA attribute and the NACA bit was set to
The initiator may reissue the command after the ACA condition has been cleared.
Task Aborted. This status shall be returned when a task is aborted by another SCSI Initiator and the Control
mode page TAS bit is set to one.
7.3.1
Status precedence
If more than one condition applies to a completed task, the report of a Busy, Reservation Conflict, ACA Active
or Task Set Full status shall take precedence over the return of any other status for that task.
Parallel SCSI Interface Product Manual, Rev. A
139
Download from Www.Somanuals.com. All Manuals Search And Download.
7.4
Command examples
7.4.1
Single command example
A typical operation on the SCSI bus is likely to include a single READ command to a peripheral device such as
the drive. This operation is described in detail starting with a request from the initiator. This example assumes
The initiator has active pointers and a set of stored pointers representing active disconnected SCSI devices (a
SCSI initiator port without disconnect capability does not require stored pointers). The initiator sets up the
active pointers for the operation requested, arbitrates for the SCSI bus, and selects the drive. Once this pro-
cess is completed, the drive assumes control of the operation.
The drive obtains the command from the initiator (in this case a READ command). The drive interprets the
command and executes it. For this command, the drive reads the requested data from the Disc Media and
sends this data to the initiator. After sending the read data to the initiator, the drive sends a status byte to the
initiator. To end the operation, the drive sends a Command Complete message to the initiator and then goes to
the Bus Free state.
Start
Bus Free
Arbitrate
Status In
Message In
(command
complete)
Select
Bus Free
End
(no attention)
Command
(ex. read)
Data In
Figure 19. Single command example
140
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
7.4.2
Disconnect example
In the single command example, the length of time necessary to obtain the data may require a time consuming
physical seek. In order to improve system throughput, the drive may disconnect from the initiator, freeing the
SCSI bus to allow other requests to be sent to other SCSI devices. To do this, the initiator must be reselectable
and capable of restoring the pointers upon reconnection. The drive must be capable of arbitrating for the SCSI
After the drive has received the READ command (and has determined that there will be a delay), it disconnects
by sending a DISCONNECT message and releasing BSY (goes to Bus Free state).
When the data is ready to be transferred, the drive reconnects to the initiator, the initiator restores the pointers
to their most recently saved values (which in this case are the initial values), and the drive continues (as in the
single command example) to finish the operation. The initiator recognizes that the operation is complete when
a Command Complete message is received.
If the drive elects to disconnect after transferring part of the data (e.g., while crossing a cylinder boundary), it
sends a Save Data Pointer message and a DISCONNECT message to the initiator and then disconnects.
When reconnection is completed, the initiator restores the current data pointer to the value it was immediately
before the Save Data Pointer message.
Message In
(disconnect)
Message In
(save ptrs.)
Data In
Status
Start
Message In
(disconnect)
Bus Free
Bus Free
Arbitrate
Reselect
Message In
(command
complete)
Arbitrate
Bus Free
Arbitrate
Reselect
Select with
Attention
Bus Free
End
Message In
(identify)
Message Out
(identify)
Message In
(identify)
Command
(ex. read)
Data In
Figure 20. Disconnect example
Parallel SCSI Interface Product Manual, Rev. A
141
Download from Www.Somanuals.com. All Manuals Search And Download.
7.5
Timing examples
Times (T00 through T35) necessary to define performance are listed in the individual drive’s Product Manual,
in the “Disc drive SCSI timing” section. For timing waveforms to define these times, refer to the SCSI Parallel
Interface-5 specification (SPI-5).
7.6
Command processing considerations and exception conditions
The following clauses describe some exception conditions and errors associated with command processing
and the sequencing of commands.
7.6.1
Auto Contingent Allegiance or Contingent Allegiance
The auto contingent allegiance (NACA=1, see Section 7.2.1, note [7], Table 62) or contingent allegiance
(NACA=0) condition shall exist within the task set when the logical unit completes a command by returning a
7.6.1.1
Logical Unit response to Auto Contingent Allegiance or Contingent Allegiance
The auto contingent allegiance (NACA=1, see Section 7.2.1, note [7], Table 62) or contingent allegiance
(NACA=0) condition shall not cross task set boundaries and shall be preserved until it is cleared as described
in Section 7.6.1.2. If requested by the application client and supported by the protocol and logical unit, sense
Note. The SCSI-2 contingent allegiance condition has had an alternate added and the extended contingent
allegiance condition has been replaced in SCSI-3 (now called merely “SCSI”) by auto contingent alle-
giance in conjunction with the NACA bit.
Note. If the SCSI-3 protocol does not enforce synchronization of client/server states, there may be a time
delay between the occurrence of the auto contingent allegiance or contingent allegiance condition and
the time at which the initiator becomes aware of the condition.
After sending status and a service response of Task Complete, the logical unit shall modify the state of all tasks
in the faulted task set as described in SCSI Architecture Model-4 (SAM-4), T10/1683-D, “Task Set Manage-
ment.”
A task created by the faulted initiator while the auto contingent allegiance condition is in effect may be entered
into the faulted task set under the conditions described below.
As described in Section 7.2.1, note [7], Table 62, the setting of the NACA bit in the Control byte of the faulting
command CDB determines the rules that apply to an ACA or CA condition caused by that command. If the
NACA bit was set to zero the SCSI-2 contingent allegiance rules shall apply.
If the NACA bit was set to one in the Control byte of the faulting command, then a new task created by the
faulted initiator while the ACA condition is in effect shall not be entered into the faulted task set unless all of the
following conditions are true:
a. The task has the ACA attribute; and
b. No other task from the faulted initiator having the ACA attribute is in the task set.
If the task is from the faulted initiator and any of the conditions listed above are not met, the newly created task
shall not be entered into the task set and shall be completed with a status of ACA Active.
If a task having the ACA attribute is received and no auto contingent allegiance condition is in effect for the task
set or if the NACA bit was set to zero in the CDB for the faulting command (i.e., a contingent allegiance condi-
tion is in effect), then the ACA task shall be completed with a status of Check Condition. The sense key shall
be set to ILLEGAL REQUEST with an additional sense code of Invalid Message Error. As noted in Section
7.2.1, note [7], Table 62, any existing contingent allegiance condition shall be cleared and a new auto contin-
gent allegiance (NACA=1) or contingent allegiance (NACA=0) condition shall be established.
142
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The handling of tasks created by initiators other than the faulted initiator depends on the value in the TST field
in the Control mode page (see ANSI SCSI Primary Commands-4, T10/1731-D).
If TST=000b, tasks created by other initiators while the ACA or CA condition is in effect shall not be entered
into the faulted task set (except for a PERSISTENT RESERVE command with a Preempt and Clear action as
described in Section 7.2.1, note [7], Table 62). Tasks rejected from the task set due to the presence of an ACA
or CA condition shall be completed with a status of ACA Active (if NACA=1 in the new command’s CDB Control
If TST=001b, tasks created by one initiator shall not be rejected based on an ACA or CA condition in effect for
another initiator. Only ACA or CA condition for the sending initiator (as well as other task set management con-
siderations described in SCSI Architecture Model-4, T10/1157D, clause 7, “Task Set Management.”) shall
affect acceptance into the task set or rejection for a task from that initiator.
7.6.1.2
Clearing an Auto Contingent Allegiance condition
If the NACA bit is set to zero in the Control byte of the faulting command, then the SCSI-2 rules for clearing
contingent allegiance shall apply. In addition, the logical unit shall clear the associated contingent allegiance
While the SCSI rules for clearing the ACA condition are in effect, a logical unit that supports the Clear ACA task
management function shall ignore all Clear ACA requests and shall return a service response of Function
Complete (see SAM-4).
If the logical unit accepts a value of one for the NACA bit and this bit was set to one in the Control byte of the
faulting command, then the SCSI-2 rules for clearing a contingent allegiance condition shall not apply. In this
case, the ACA condition shall only be cleared:
a. As the result of a power on or a logical unit reset (see ANSI SAM-4 document T10/1683-D);
b. Through a Clear ACA task management function issued by the faulting initiator as described in ANSI
SAM-4 document T10/1683-D;
c. Through a Preempt and Clear action of a PERSISTENT RESERVE OUT command that clears the tasks
of the faulting initiator (see the ANSI SCSI Primary Commands-4);
d. A command with the ACA attribute terminates with a CHECK CONDITION status. The state of all tasks
in the task set when an auto contingent allegiance condition is cleared shall be modified as described in
ANSI document T10/1157D, clause 7, “Task Set Management.”
7.6.2
Overlapped commands
An overlapped command occurs when an application client reuses a Task Address (see Glossary) in a new
command before a previous task to which that address was assigned completes its task lifetime as described
in SCSI Architecture Model-4 (SAM-4), “Task and Command Lifetimes.”
Each system that implements a SCSI protocol standard shall specify whether or not a logical unit is required to
detect overlapped commands. A logical unit that detects an overlapped command shall abort all tasks for the
initiator in the task set and shall return CHECK CONDITION status for that command. If the overlapped com-
mand condition was caused by an untagged task or a tagged task with a tag value exceeding FFh, then the
sense key shall be set to Aborted Command and the additional sense code shall be set to Overlapped Com-
mands Attempted. Otherwise, an additional sense code of Tagged Overlapped Tasks shall be returned with the
additional sense code qualifier byte set to the value of the duplicate tag.
Note. An overlapped command may be indicative of a serious error and, if not detected, could result in cor-
rupted data. This is considered a catastrophic failure on the part of the initiator. Therefore, vendor-spe-
cific error recovery procedures may be required to guarantee the data integrity on the medium. The
target logical unit may return additional sense data to aid in this error recovery procedure (e.g.,
sequential-access devices may return the residue of blocks remaining to be written or read at the time
the second command was received).
Parallel SCSI Interface Product Manual, Rev. A
143
Download from Www.Somanuals.com. All Manuals Search And Download.
Note. Some logical units may not detect an overlapped command until after the command descriptor block
has been received.
7.6.3
Incorrect logical unit selection
The target’s response to an incorrect logical unit identifier is described in the following paragraphs.
The logical unit identifier may be incorrect because:
a. The target does not support the logical unit (e.g., some targets support only one peripheral device). In
response to any other command except REQUEST SENSE and INQUIRY, the target shall terminate the
command with CHECK CONDITION status. Sense data shall be set to the values specified for the
REQUEST SENSE command in item b below;
b. The target supports the logical unit, but the peripheral device is not currently attached to the target. In
response to an INQUIRY command the target shall return the INQUIRY data with the peripheral qualifier
set to the value required in the SPC-4 standard. In response to a REQUEST SENSE command, the tar-
get shall return sense data. The sense key shall be set to ILLEGAL REQUEST and the additional sense
code shall be set to Logical Unit Not Supported.
In response to any other command except REQUEST SENSE and INQUIRY, the target shall terminate the
command with CHECK CONDITION status. Sense data shall be set to the values specified for the
REQUEST SENSE command above;
c. The target supports the logical unit and the peripheral device is attached, but not operational. In
response to an INQUIRY command the target shall return the INQUIRY data with the peripheral qualifier
set to the value required in Seagate SCSI Command Reference Manual, Part number 100293068. In
response to REQUEST SENSE, the target shall return sense data.
The target's response to any command other than INQUIRY and REQUEST SENSE is vendor-specific; or
d. The target supports the logical unit but is incapable of determining if the peripheral device is attached or
is not operational when it is not ready.
In response to an INQUIRY command the target shall return the INQUIRY data with the peripheral qualifier
set to the value specified in Seagate SCSI Command Reference Manual, Part number 100293068. In
response to a REQUEST SENSE command the target shall return the REQUEST SENSE data with a
sense key of No Sense unless an auto contingent allegiance exists. The target's response to any other
command is vendor-specific.
7.6.4
Sense data
Sense data shall be made available by the logical unit in the event a command completes with a CHECK CON-
DITION status or other conditions. The format, content and conditions under which sense data shall be pre-
pared by the logical unit are specified in this manual, the SPC-4 standard, and other applicable SCSI protocol
standards.
Sense data shall be preserved by the logical unit for the initiator until it is transferred by one of the methods
listed below or until another task from that initiator is entered into the task set.
The sense data may be transferred to the initiator through any of the following methods:
a. The REQUEST SENSE command specified in Seagate SCSI Command Reference Manual, Part num-
ber 100293068;
b. An asynchronous event report; or
c. Autosense delivery.
The following clauses describe the last two transfer methods.
7.6.4.1
Asynchronous Event Reporting
Asynchronous Event Reporting is used by a logical unit to signal another device that an asynchronous event
has occurred. The mechanism automatically returns sense data associated with the event. Support for asyn-
chronous event reporting is a logical unit option.
144
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The control mode page contains parameters affecting the use of asynchronous event reporting (see Seagate
SCSI Command Reference Manual, Part number 100293068).
Asynchronous Event Reporting is used to signal a device that one of the four events listed below has occurred:
a. an error condition was encountered after command completion;
b. a newly initialized device is available;
c. some other type of unit attention condition has occurred; or
d. an asynchronous event has occurred.
An example of the first case above occurs in a device that implements a write cache. If the target is unable to
write cache data to the medium, it may use an asynchronous event report to inform the initiator of the failure.
An example of the second case above is a logical unit that generates an asynchronous event report, following
a power-on cycle, to notify other SCSI devices that it is ready to accept I/O commands.
An error condition or unit attention condition shall be reported to a specific initiator once per occurrence of the
event causing it. The logical unit may choose to use an asynchronous event report or to return CHECK CON-
DITION status on a subsequent command, but not both. Notification of an error condition encountered after
command completion shall be returned only to the initiator that sent the affected task or tasks.
Asynchronous event reports may be used to notify devices that a system resource has become available. If a
logical unit uses this method of reporting, the sense key in the AER sense data shall be set to Unit Attention.
7.6.4.2
Autosense
Autosense is the automatic return of sense data to the application client coincident with the completion of an
SCSI command under the conditions described below. The return of sense data in this way is equivalent to an
explicit command from the application client requesting sense data immediately after being notified that an
ACA condition has occurred. Inclusion of autosense support in an SCSI protocol standard is optional.
An application client may request autosense service for any SCSI command. If supported by the protocol and
logical unit and requested by the application client, the device server shall only return sense data in this man-
ner coincident with the completion of a command with a status of Check Condition. After autosense data is
sent, the sense data and the CA (NACA=0), if any, shall then be cleared. Autosense shall not affect ACA
Protocol standards that support autosense shall require an autosense implementation to:
a. Notify the logical unit when autosense data has been requested for a command; and
b. Inform the application client when autosense data has been returned upon command completion (see
It is not an error for the application client to request the automatic return of sense data when autosense is not
supported by the SCSI protocol or logical unit implementation. If the application client requested the return of
sense data through the autosense facility and the protocol service layer does not support this feature, then the
confirmation returned by the initiator's service delivery port should indicate that no sense data was returned. If
the protocol service layer supports autosense but the logical unit does not, then the target should indicate that
no sense data was returned. In either case, sense information shall be preserved and the application client
may issue a command to retrieve it.
7.6.5
Unexpected RESELECTION phase
An unexpected RESELECTION phase occurs if a SCSI target port attempts to do a physical reconnect to a
task for which a nexus does not exist. a SCSI initiator port should respond to an unexpected RESELECTION
phase by sending an ABORT TASK message.
Parallel SCSI Interface Product Manual, Rev. A
145
Download from Www.Somanuals.com. All Manuals Search And Download.
7.6.6
Unit Attention condition
The drive sets up the Unit Attention condition when it stores (within itself) a Unit Attention condition flag for
each device on the SCSI bus having a SCSI initiator port relationship with the drive, and this Unit Attention
condition persists for each initiator until the condition is cleared (flag negated) by each initiator individually. The
Unit Attention condition results when one of the following events occur:
a. A power-on sequence occurs.
b. A reset is generated internally by the drive (caused by a power glitch).
c. A Bus Device Reset message causes the drive to reset itself.
d. The Reset I/O line resets the drive.
e. a SCSI initiator port changes one or more of the mode select parameters in the drive (these changes
could affect one or more of the other initiators).
f. The inquiry data has been changed.
g. The mode parameters in effect for a SCSI initiator port have been restored from non-volatile memory.
h. An event occurs that requires the attention of the initiator.
i. A Clear Queue message is received.
j. The Log parameters are changed. Unit Attention condition is posted for all initiators in the system other
than the one that changed the Log Parameters.
k. Tasks for this initiator were changed by another initiator.
l. The version or level of microcode has changed.
m. The logical unit inventory has been changed (not generally applicable to Seagate disc drives); or
n. A change in the condition of a synchronized spindle occurred (not generally applicable to Seagate disc
drives).
The Unit Attention Parameters page (page 00h, bit 4 of byte 2) of the MODE SELECT command controls
whether or not a CHECK CONDITION status is to be reported to affected initiators when a Unit Attention con-
dition exists (see Seagate SCSI Command Reference Manual, Part number 100293068).
Logical units may queue unit attention conditions. After the first unit attention condition is cleared, another unit
attention condition may exist (for example, a power on condition followed by a microcode change condition).
The Unit Attention condition for a particular initiator is cleared when that initiator does one of the following:
a. It sends a REQUEST SENSE command; or
b. It sends any other legitimate command, with the exception of the INQUIRY command. The INQUIRY
command does not clear the Unit Attention condition.
When a Unit Attention condition flag is stored in the drive for a SCSI initiator port, the commands that initiator
issues to the drive operate as described in the following paragraphs.
If a SCSI initiator port sends an INQUIRY command to the drive when the drive has stored a Unit Attention
condition flag for that initiator (before the drive generates the auto contingent allegiance condition), the drive
shall perform the INQUIRY command and shall not clear the Unit Attention condition.
If a SCSI initiator port sends a REQUEST SENSE command to the drive when a Unit Attention condition flag is
stored for that initiator (before the drive generates the auto contingent allegiance condition), the drive shall dis-
card any pending sense data, report the Unit Attention sense key, and clear the Unit Attention condition
(negate the flag) for that initiator.
If a SCSI initiator port issues a command other than INQUIRY or REQUEST SENSE while a Unit Attention
condition flag is stored for that initiator, the drive may or may not perform the command and report CHECK
CONDITION status, depending on whether or not the Unit Attention bit is zero or one in the Unit Attention
Mode Parameters page (Page 00h, bit 4 of byte 2). See Seagate SCSI Command Reference Manual, Part
number 100293068. If a REQUEST SENSE is issued next, the Unit Attention condition is reported and cleared
(flag negated) as noted in the preceding paragraph. If another command other than REQUEST SENSE or
INQUIRY is issued instead, the drive shall perform the command and return the appropriate status. The Unit
Attention condition for the subject initiator is cleared (flag negated) and the sense data and flag indicating there
has been a Unit Attention condition are lost.
146
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
7.6.7
Target hard reset
a SCSI target port hard reset is a SCSI target port response to a SCSI target port Reset task management
request (see SCSI Architecture Model-4, T10/1157D), or a reset event within the service delivery subsystem.
The definition of target reset events is protocol and interconnect specific. Each SCSI product standard shall
specify the response to a SCSI target port reset event including the conditions under which a SCSI target port
hard reset shall be executed.
To execute a hard reset, a SCSI target port shall initiate a logical unit reset for all attached logical units as
7.6.8
Logical unit reset
A logical unit reset is a response to a Logical Unit Reset task management request (see SCSI Architecture
Model-4, T10/1157D), or some other logical unit reset event, such as a SCSI target port hard reset (see Sec-
tion 7.6.7). The definition of such events may be device-specific or dependent on the protocol and intercon-
nect. Each appropriate SCSI standard shall specify the conditions under which a logical unit reset shall be
executed.
To execute a logical unit reset the logical unit shall:
a. Abort all tasks in its task set;
b. Clear an auto contingent allegiance condition, if one is present;
c. Release all SCSI device reservations;
d. Return the device’s operating mode to the appropriate initial conditions, similar to those conditions that
would be found following device power-on. The mode select conditions (see SCSI Primary Commands-
4 (SPC-4), T10/1731-D) shall be restored to their saved values if saved values have been established.
Mode select conditions for which no saved values have been established shall be returned to their
default values;
f. Initiate a logical unit reset for all nested logical units.
In addition to the above, the logical unit shall execute any additional functions required by the applicable stan-
dards.
7.7
Queued tasks (formerly “queued I/O processes”)
Queuing of tasks allows a drive to accept multiple commands for execution at a later time.
There are two methods for implementation of queuing: tagged and untagged. Tagged task queuing allows the
drive to accept multiple commands from each initiator. Untagged task queuing allows the drive to accept one
command from each initiator. Drives that have SCSI-2 implementation support tagged queuing while in SCSI-1
or SCSI-2 mode. They can use untagged task queuing mode if the initiator does not send task queue tag mes-
sages.
Initiators may add or delete commands to the queue for the drive within the limitations specified in this specifi-
cation. When adding a command, the initiator may specify fixed order of execution, allow the drive to define the
order of execution, or specify that the command is to be executed next. See glossary in Section 1.2.1 for termi-
nology definitions when reading the following explanations.
7.7.1
Untagged task queuing
Untagged task queuing allows the drive to accept a command from a SCSI initiator port while a command from
another initiator is being executed. Only one command for each I T L nexus may be accepted at a time.
A new task may be initiated any time the BUS FREE phase exists even if another task from a different initiator
is being executed. If the disconnect privilege is not granted, the drive returns Busy status to the new task.
Parallel SCSI Interface Product Manual, Rev. A
147
Download from Www.Somanuals.com. All Manuals Search And Download.
The I T L nexus specifies the relationship so that the drive can always reconnect to the initiator to restore the
pointers for task as long as only one command per I T L nexus is issued. It is the responsibility of the initiator to
assure that only one command is issued at any time.
7.7.2
Tagged task queuing
Tagged task queuing allows a drive to accept multiple commands from the same or different initiators until the
drive’s task queue is full. A new task may be initiated any time the BUS FREE phase exists, if the disconnect
privilege is granted. If the disconnect privilege is not granted for a tagged command, the drive returns Busy sta-
tus to the new task.
The Task Queue Tag messages (see Section 4.4) allow the initiator to establish a unique I T L Q nexus to iden-
tify each task. Each task may be a command or a set of linked commands with a unique queue tag.
The I T L Q nexus allows the target to reconnect to the desired task and the initiator to restore the correct set of
pointers. a SCSI initiator port may have several task ongoing to the same or different logical unit as long as
each has a unique nexus.
If only Simple Task Queue Tag messages are used, the drive may execute the commands in any order that is
deemed desirable within the constraints of the queue management algorithm specified in the Control Mode
page (see Seagate SCSI Command Reference Manual, Part number 100293068). The command ordering is
done by the drive to meet its performance and functional goals. The algorithm used by the drive attempts to
achieve certain drive or system performance goals established in the drive firmware for the queued commands
and guarantee that all commands will be executed. One possible goal would be to minimize seek times, but
there could be others, possibly designed to meet some special system need. Commands from other initiators
are also executed in an order selected in the same manner. The drive uses the Simple Task Queue Tag when
reconnecting to the initiator.
If Ordered Task Queue Tag messages are used, the drive executes the commands in the order received with
respect to other commands received with Ordered Task Queue Tag messages. All commands received with a
Simple Task Queue Tag message prior to a command received with an Ordered Task Queue Tag message,
regardless of initiator, are executed before that command with the Ordered Task Queue Tag message. All com-
mands received with a Simple Task Queue Tag message after a command received with an Ordered Task
Queue Tag message, regardless of initiator, are executed after that command with the Ordered Task Queue
Tag message.
A command received with a Head of Task Queue Tag message is placed first in the queue, to be executed
next. A command received with a Head of Task Queue Tag message does not suspend a task for which the
drive has begun execution. Consecutive commands received with Head of Task Queue Tag messages are
executed in a last-in-first-out order.
The Control Mode page specifies alternative queue management algorithms with additional rules on the order
of execution of commands (see Seagate SCSI Command Reference Manual, Part number 100293068).
A task received from a SCSI initiator port without a task queue tag message while there are any tagged I/O
commands in the command queue from that initiator is an incorrect initiator connection, unless there is a con-
tingent allegiance condition. A task received from a SCSI initiator port with a task queue tag message while
there is an untagged command in the command queue from that initiator is also an incorrect initiator connec-
tion. In either of these cases, the drive removes all commands in the queue from that initiator, aborts the com-
mand in process if it is from that initiator, and sets the Sense Key to Aborted Command and the Sense Code to
Overlapped Commands Attempted.
The RESERVE and RELEASE commands should be sent with an Ordered Task Queue Tag message. Use of
the Head of Task Queue Tag message with these commands could result in reservation conflicts with previ-
ously issued commands.
The TEST UNIT READY and INQUIRY commands are often sent with a Head of Task Queue Tag message,
since the information returned is either available or has no effect on the condition of the drive.
148
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
The drive recovery option, is to continue execution of commands in the queue after the contingent allegiance
condition has cleared. The drive returns Busy status to all other initiators while the contingent allegiance condi-
tion exists. During this time all commands in the queue are suspended. All commands used for recovery oper-
ations are untagged commands.
Deferred errors are normally related to a command that has already completed. As such, there is no attempt to
return the queue tag value assigned to the original command.
7.8
Parameter rounding
Certain parameters sent to a SCSI target port 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 shall reject unsupported values unless rounding is
permitted in the description of the parameter.
Rounding of parameter values, when permitted (Rounding is enabled by MODE SELECT command, page
code 00h, byte 2, bit 2) shall be performed as follows:
a SCSI target port that receives a parameter value that is not an exact supported value shall adjust the value to
one that it supports and shall return CHECK CONDITION status with a sense key of Recovered Error. The
additional sense code shall be set to Rounded Parameter. The initiator is responsible to issue an appropriate
command to learn what value the target has selected.
Implementors Note: Generally, the target should adjust maximum-value fields down to the next lower sup-
ported value than the one specified by the initiator. Minimum-value fields should be rounded up to the next
higher supported value than 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.
7.9
Programmable operating definition
Some applications require that the operating definition of a logical unit be modified to meet the special require-
ments of a particular initiator. The program-controlled modification of the operating definition is provided to
allow operating systems to change the operating definition of a more recently developed target to one which is
more compatible with the operating system. This ability requires that the system comply with the low-level
hardware definitions of SCSI-2.
The parameters that can be changed by modifying the operating definition of a logical unit include the vendor
identification, the device type, the device model, the SCSI compliance level, the SCSI specification level, the
command set, and other parameters. The low-level hardware parameters including signal timing and parity
definitions cannot be changed by modifying the operating definition. The present operating definition of a logi-
cal unit with respect to a SCSI initiator port can be determined at any time by execution of an INQUIRY com-
mand. In some vendor-specific cases, it may also be necessary to perform other commands including MODE
SENSE and READ CAPACITY.
The more recent Seagate drives do not support the Change Operating Definition command (see individual
drive’s Product Manual).
Each logical unit begins at a particular operating definition. If the logical unit supports the CHANGE DEFINI-
TION command, the present operating definition can be changed to any other operating definition supported
by the logical unit. The actual details of the operating definition of a logical unit are vendor-specific. If the oper-
ating definition is changed to one that does not include the CHANGE DEFINITION command, the target contin-
ues to accept the CHANGE DEFINITION command.
If an error occurs during execution of a CHANGE DEFINITION command, the original operating definition
remains in effect after the command is executed. The new operating definition becomes active only after suc-
cessful execution of the CHANGE DEFINITION command.
Parallel SCSI Interface Product Manual, Rev. A
149
Download from Www.Somanuals.com. All Manuals Search And Download.
Since new operating definitions may preclude the execution of tasks that are already in progress, the target
may disconnect to allow completion of any tasks that are in progress. Operating definition changes that may
cause conflicts with the normal operation from other initiators shall be indicated to those initiators by generating
a Unit Attention condition for each other initiator. The additional sense code shall be set to Changed Operating
Definition.
A SCSI initiator port may request a list of the operating definitions that the target supports and descriptive text
for each operating definition using the INQUIRY command.
7.10
Incorrect initiator connection
An incorrect initiator connection occurs on a reconnection if:
a. a SCSI initiator port attempts to reconnect to a task, and
b. a soft reset condition has not occurred, and
c. the initiator does not send an Abort, Abort Tag, Bus Device Reset, Clear Task Set, Continue Task, or Ter-
minate Task message during the same MESSAGE OUT phase as the IDENTIFY message.
An incorrect initiator connection also occurs on an initial connection when a SCSI initiator port:
a. attempts to establish an I T L Q nexus when an I T L nexus already exists from a previous connection, or
b. attempts to establish an I T L nexus when an I T L Q nexus already exists unless there is a contingent
allegiance or extended contingent allegiance condition present for the logical unit or target routine.
A SCSI target port that detects an incorrect initiator connection shall abort all tasks for the initiator on the logi-
cal unit or target routine and shall return CHECK CONDITION status. The sense key shall be set to Aborted
Command and the additional sense code shall be set to Overlapped Commands Attempted.
An incorrect initiator connection may be indicative of a serious error and if not detected could result in a task
operating with a wrong set of pointers. This is considered a catastrophic failure on the part of the initiator.
Therefore, host-specific error recovery procedures may be required to guarantee the data integrity on the
medium. The target may return additional sense data to aid in this error recovery procedure. Also, some tar-
gets may not detect an incorrect initiator connection until after the command descriptor block has been
received.
150
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
8.0
Drive features
8.1
S.M.A.R.T. system
Some drive families mentioned in Section 1.1 implement what is called in the industry 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. The host system may use the information provided to trigger it to perform diagnos-
tic, 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 Addi-
tional Sense Code 5D 00 and MODE SENSE data page 1Ch. Refer to Seagate SCSI Command Reference
Manual, Part number 100293068 for the description of the MODE SELECT/MODE SENSE commands and for
more details on the Informational Exceptions Control page. Refer to the individual drive’s Product Manual, to
determine the extent of its implementation of the S.M.A.R.T. system.
8.2
Self-test operations
Default self-test
8.2.1
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.
8.2.2
The short and extended self-tests
There are two optional types of self-test that may be invoked using the Self-Test Code field in the SEND DIAG-
NOSTICs command: a short self-test and an extended self-test. The goal of the short self-test is to quickly
identify if the logical unit is faulty. A goal of the extended 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 self-test is to provide a more comprehensive test to validate the results of a
short self-test, if its results are judged by the application client to be inconclusive.
The criteria for the short self-test are that it has one or more segments and completes in two minutes or less.
The criteria for the extended self-test are that it is has one or more segments and that the completion time is
vendor-specific. Any tests performed in the segments are vendor-specific.
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 it 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 sur-
face.
Parallel SCSI Interface Product Manual, Rev. A
151
Download from Www.Somanuals.com. All Manuals Search And Download.
The tests performed in the segments may be the same for the short and extended self-tests. The time required
by a logical unit to complete its extended self-test is reported in the Extended Self-Test Completion Time field
in the Control mode page (see Seagate SCSI Command Reference Manual, Part number 100293068).
8.2.3
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.
8.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 shall return status for that command after the self-test has been com-
pleted. Not all Seagate drives support this mode.
While performing a self-test in the foreground mode, the device server shall respond 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 self-test in the foreground mode and a test segment error occurs during the
test, the device server shall update the Self-test results log page (see Seagate SCSI Command Reference
Manual, Part number 100293068) and report 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 infor-
mation about the failure by reading the Self-test results log page. If the device server is unable to update the
Self-test results log page it shall return 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 self-test in the foreground mode. An
application client may terminate a 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 self-test in the foreground
mode, the it shall abort the self-test and update the Self-test results log page (see Seagate SCSI Command
Reference Manual, Part number 100293068).
8.2.3.2
Background mode
When a device server receives a SEND DIAGNOSTICs command specifying a self-test to be performed in the
background mode, the device server shall return 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 Self-test results log page (see Seagate SCSI Command
Reference Manual, Part number 100293068) 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.
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 shall be set to Not Ready and the addi-
tional sense code shall be set to Logical Unit Not Ready, Self-Test In Progress.
While performing a self-test in the background mode, the device server shall suspend the self-test to service
any other commands received with the exceptions listed in Table 65. Suspension of the self-test to service the
command shall occur as soon as possible, but shall never take longer than two seconds.
152
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 65: Exception commands for background self-tests
Device type [a]
All device types
Command
Reference
[2]
SEND DIAGNOSTICs (with Self-Test Code field set to 100b)
WRITE BUFFER (with the mode set to any download microcode option
FORMAT UNIT
[2]
SBC
Direct access
START/STOP UNIT (stop only)
a. Device types not listed in this table do not have commands that are exceptions for background self-
tests, other than those listed above for all device types.
b. See Seagate SCSI Command Reference Manual, Part number 100293068.
If one of the exception commands listed in Table 65 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 issu-
ing a SEND DIAGNOSTICs command with the Self-Test Code field set to 100b (Abort background
self-test function).
8.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 Seagate SCSI
Command Reference Manual, Part number 100293068) may be used by the application client at any time dur-
ing execution of a self-test to poll the logical unit’s progress. While executing a self-test unless an error has
occurred, a device server shall respond 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 spe-
cific bytes set for progress indication.
The application client may obtain information about the twenty most recently completed self-tests by reading
the Self-test results log page (see Seagate SCSI Command Reference Manual, Part number 100293068). This
is the only method for an application client to obtain information about self-tests performed in the background
mode.
Table 66 summarizes when a logical unit returns status after receipt of a self-test command, how an application
client may abort a self-test, how a logical unit handles new commands that are received while a self-test is in
progress, and how a logical unit reports a self-test failure.
Parallel SCSI Interface Product Manual, Rev. A
153
Download from Www.Somanuals.com. All Manuals Search And Download.
Table 66: Self-test mode summary
When
Processing of subsequent
commands while self-test is
executing
status is How to abort
returned the self-test
Mode
Self-test failure reporting
Foreground After the
Abort Task task If the command is INQUIRY, REPORT Terminate with CHECK CONDITION
self-test is management
complete function
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.
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
SEND DIAG-
Process the command, except as
Application client checks Self-test
NOSTICs com- described in Seagate SCSI Command results log page after the Progress
validated mand with Self- Reference Manual, Part number
Test Code field 100293068.
Indication field returned from
REQUEST SENSE indicates the self-
test is complete.
set to 100b
8.3
Alternate error detection for the asynchronous information phases (AIP)—
Command, Message, and Status
8.3.1
Error detection for asynchronous information phases
This section describes an enhanced error detection method for the Command, Message, and Status asynchro-
nous information transfer phases. In systems not implementing this scheme, these phases only transfer infor-
mation on the lower eight data bits of a SCSI bus with only normal parity protection on those transfers.
Therefore, additional check information can be transferred on the upper eight data bits in order to improve error
detection capabilities. Since the upper eight data bits of the bus are used for this scheme, this error detection
method is only available on wide SCSI devices that are on wide SCSI busses.
8.3.2
Protection code
The following are the covered signals to be encoded and details of the protection code to be used on the asyn-
chronous information phases.
154
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
8.3.2.1
Covered signals
Table 67 defines the signals to be covered by the protection code and their bit locations in the 21-bit code
word. When a SCSI device receives an information byte, it also latches the state of the other SCSI signals and
values noted in Table 67.
Table 67: Signals to be covered by the protection code and their bit locations
Code
word
SCSI
location
signal
Meaning
DB(0)
0
1
Data bit 0 of the information byte
DB(1)
DB(2)
Data bit 1 of the information byte
Data bit 2 of the information byte
Data bit 3 of the information byte
Data bit 4 of the information byte
Data bit 5 of the information byte
Data bit 6 of the information byte
Data bit 7 of the information byte
Reserved [a]
2
DB(3)
3
DB(4)
4
DB(5)
5
DB(6)
6
DB(7)
7
DB(8)
8
DB(9)
9
Reserved [a]
RSVD
RSVD
RSVD
Seq ID 0
Seq ID 1
DB(10)
DB(11)
DB(12
DB(13)
DB(14)
DB(15)
10
11
12
13
14
15
16
17
18
19
20
Reserved [b]
Reserved [b]
Reserved [b]
Sequence ID bit 0
Sequence ID bit 1
Redundant bit 0 of the code word
Redundant bit 1 of the code word
Redundant bit 2 of the code word
Redundant bit 3 of the code word
Redundant bit 4 of the code word
Redundant bit 5 of the code word
a. DB(8) and DB(9) are reserved for future use. These signals are negated by the transmitting SCSI device
and are ignored by the receiving SCSI device. Both the transmitter and receiver encode these signals in
the protection code.
b. For calculation purposes these signals are zero. However, these virtual signals could be used for other
functions in a future standard.
The Sequence IDs are encoded in the protection code. A sequence of consecutive information transfers during
a Message, Command, or STATUS phase is a run. The Sequence ID increments during a run. A new run
begins on every phase change or on each Message Out retry.
Parallel SCSI Interface Product Manual, Rev. A
155
Download from Www.Somanuals.com. All Manuals Search And Download.
For each new run, the Sequence ID is set to zero for the first word transferred, set to one for the second word
transferred, set to two for the third word transferred, and set to three for the fourth word transferred. The
Sequence ID then cycles back to being set to zero for the fifth word transferred, and so forth until the run is
complete. At the beginning of the next run, the Sequence ID is set to zero again.
The Sequence ID provides detection of errors that occur when an information transfer is missed or double
clocked. A Sequence ID error causes a protection code error. If a protection code error is detected, then the
information transfer is invalid. The method for recovery from these errors is the same as the method for parity
error recovery.
156
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
8.3.2.2
Code description
The protection code (see Table 68) is a cyclic binary BCH code.
Table 68: Protection code
Number of
Maximumdata
bits allowed
redundant
bits
Minimumdistance
of the code
Code
(21,15,4)
15
6
4
The BCH protection code is a cyclic code with a generator polynomial of x 6 + x 5 + x 2 + 1.
The canonical form of the code generator is shown in Figure 21. This is a serial implementation: the register is
initialized to zero, then the data is fed in one bit at a time, codeword bit 14 (as defined above) first, followed by
codeword bits 13, 12, 11, and so on until bit 0. As each data bit is input, the shift register is clocked. When all
15 bits have been clocked into the generator, the check bits are available in the registers, check bit 0 (code-
word bit 15) on the right in the diagram and check bit 5 (codeword bit 20) on the left. The + signs represent an
XOR operation.
Data In
(Bits 14
Down to 0)
Figure 21. Protection code generator
Using this representation as a baseline, it is possible to construct logic to generate the six check bits from an
input data stream of n-bit width, including all 15 bits simultaneously, which is the expected implementation,
wherein:
Redundant bit 0 is the XOR of code word bits 0, 1, 2, 3, 5, 6, 7, 10, 11, and 13.
Redundant bit 1 is the XOR of code word bits 1, 2, 3, 4, 6, 7, 8, 11, 12, and 14.
Redundant bit 2 is the XOR of code word bits 0, 1, 4, 6, 8, 9, 10, 11, and 12.
Redundant bit 3 is the XOR of code word bits 1, 2, 5, 7, 9, 10, 11, 12, and 13.
Redundant bit 4 is the XOR of code word bits 2, 3, 6, 8, 10, 11, 12, 13, and 14.
Redundant bit 5 is the XOR of code word bits 0, 1, 2, 4, 5, 6, 9, 10, 12, and 14.
8.3.2.3
Error detection properties
This protection code was selected to have adequate detection properties for asynchronous information transfer
phases, given that these transfers are inherently less prone to errors and that these transfers have short code
words (approximately 20 bits as compared to thousands of bits during a DT data phase). The BCH protection
code Hamming distance is a minimum of four, the same as achieved by the data CRC for transfers of less than
eight kilobytes. The protection code will detect all errors of three bits or fewer, all errors of an odd number of
bits, and 98.4% of all possible errors.
8.3.3
Protection code usage
Protection code checking is enabled or disabled on an I_T nexus basis. All Command, Message, and STATUS
phase information is checked for an I_T nexus while checking is enabled. Protection code checking is disabled
after a power cycle, after a hard reset, after a SCSI target port Reset message, and after a change in the trans-
ceiver mode (e.g., LVD mode to MSE mode). Protection code checking is always disabled for information unit
transfers.
Parallel SCSI Interface Product Manual, Rev. A
157
Download from Www.Somanuals.com. All Manuals Search And Download.
8.3.3.1
Protection code transmission
SCSI devices supporting this protection code transmit the protection code check data during all Command,
Message, and STATUS phases. The protection code byte is transferred on the upper eight bits of a wide bus
simultaneously with the information day byte on the lower eight bits of the bus using the same clock for the
transfer. Thus the transfer of the information byte and the protection code byte is performed exactly like a nor-
mal wide transfer. The check data is transmitted even if detection is not enabled.
8.3.3.2
Enabling protection code checking
A SCSI device enables protection code checking for an I_T nexus when it detects that valid protection code
data is being transmitted on the upper byte of the SCSI bus. The frequency that a SCSI device will try to enable
protection code checking and the number of valid protection code bytes required is vendor-specific. The follow-
ing are some possible times when a SCSI device could try to enable protection code checking:
a. During the first Command, Message, or STATUS phase after a power cycle, after a hard reset, after a
SCSI target port Reset message, or after a change in the transceiver mode.
b. Any time that removal and insertion of a SCSI device is possible, i.e. after a Unit Attention condition.
c. During the MESSAGE phases of a negotiation.
8.3.3.3
Disabling protection code checking
The removal and insertion of a SCSI device could require that protection code checking be disabled for a pre-
viously enabled I_T nexus. A SCSI device disables protection code checking when it detects that no protection
code data is being transmitted on the upper byte. The determination that no protection code data is being
transmitted is vendor-specific. The following are some possible ways that a SCSI device could determine that
no protection code data is being transmitted:
a. The DB(15-8) and DB(P1) signals are continuously deasserted while there is good parity on DB(7-0)
and DB(P_CRCA).
b. The protection code has a consistent error while there is good parity on DB(7-0) and DB(P_CRCA).
8.3.4
Parity
When protection code checking is enabled normal wide parity is used during a protected transfer of Command,
Message, or Status information. DB(P_CRCA) contains the parity for DB(7-0), and DB(P1) contains the parity
for DB(15-8).
8.3.5
Error handling
Protection code errors are handled exactly like parity errors during Command, Message, or STATUS phases
as defined in the relevant subclauses on exception condition handling in clause 11.1 of SPI-5.
Some examples of how API works are given in SPI-5 Annex M, subsection M.6.
8.4
Removal and insertion of SCSI devices (popularly known as “hot plugging”)
Removal and insertion of SCSI devices overview
8.4.1
This section defines the physical requirements for removal and insertion of SCSI devices on the SCSI bus. The
issues related to the logical configuration of the SCSI bus and characteristics of the SCSI devices when a
replacement occurs are beyond the scope of this standard. It should also be noted that the cases listed are dis-
tinguished for compatibility reasons and in most cases describe a system environment independent of this
standard.
Four cases are addressed. The cases are differentiated by the state of the SCSI bus when the removal or
insertion occurs.
158
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
8.4.2
Case 1—Power off during removal or insertion
a. All SCSI devices are powered off during physical reconfiguration.
8.4.3
Case 2—RST signal asserted continuously during removal or insertion
a. RST signal shall be asserted continuously by the initiator during removal or insertion.
b. The system shall be designed such that the SCSI device being inserted shall make its power ground
and logic ground connections at least 1 ms prior to the connection of any device connector contact to the
SCSI bus. The ground connections shall be maintained during and after the connection of the SCSI
device to the SCSI bus.
c. The system shall be designed such that the SCSI device being removed shall maintain its power ground
and logic ground prior to, during, and for at least 1 ms after the disconnection of any device connector
contact from the SCSI bus.
Note. The translation of the 1 ms time to mechanical provisions is vendor-specific.
8.4.4
Case 3—Current I/O processes not allowed during insertion or removal
a. All I/O processes for all SCSI devices shall be quiesced.
b. The system shall be designed such that the SCSI device being inserted shall make its power ground
and logic ground connections at least 1 ms prior to the connection of any device connector contact to the
SCSI bus. The ground connections shall be maintained during and after the connection of the SCSI
device to the SCSI bus.
c. The system shall be designed such that the SCSI device being removed shall maintain its power ground
and logic ground prior to, during, and for at least 1 ms after the disconnection of any device connector
contact from the SCSI bus.
d. The SCSI device being removed or inserted shall employ transceivers that conform to the applicable
requirements in ANSI SPI-5 specification, T10/1525D, sections 7.2.2 and 7.3.5.3, for glitch-free power-
ing on and off. The SCSI device shall maintain the high-impedance state at the device connector con-
tacts during a power cycle until the transceivers are enabled. Power cycling includes on-board
TERMPWR cycling caused by plugging, and SCSI device power cycling caused by plugging and switch-
ing.
Note. Any on board switchable terminators as well as SCSI device transceivers may affect the impedance
state at the device connector contacts.
e. The SCSI device power may be simultaneously switched with the SCSI bus contacts if the power distri-
bution system is able to maintain adequate power stability to other SCSI devices during the transition
and the grounding requirements in items (b) and (c) above are met.
f. The SCSI bus termination shall be external to the SCSI device being inserted or removed.
g. Resumption of I/O processes is vendor-specific but shall not occur sooner than 200 milliseconds after
the completion of the insertion or removal event.
h. Bypassing capacitors connecting to the TERMPWR line on the SCSI device being inserted or removed
shall not exceed 10 mF. For single-ended applications, SCSI bus terminations shall use voltage regula-
tion.
Note. In a multimode environment any insertion or removal that changes the SCSI bus mode causes a trans-
8.4.5
Case 4—Current I/O process allowed during insertion or removal
a. All I/O processes for the SCSI device being inserted or removed shall be quiesced prior to removal.
b. A SCSI device being inserted shall make its power ground and logic ground connection at least 1 ms
prior to the connection of any device connector contact to the SCSI bus. The ground connections shall
be maintained during and after the connection of the SCSI device to the SCSI bus.
Parallel SCSI Interface Product Manual, Rev. A
159
Download from Www.Somanuals.com. All Manuals Search And Download.
c. A SCSI device being removed shall maintain its power ground and logic ground prior to, during, and for
at least 1 ms after the disconnection of any device connector contact from the SCSI bus.
d. The SCSI device being removed or inserted shall employ transceivers that conform to the applicable
requirements in ANSI SPI-5 specification, T10/1525D, sections 7.2.2 and 7.3.5.3 for glitch-free powering
on and off. The SCSI device shall maintain the high-impedance state at the device connector contacts
during a power cycle until the transceivers are enabled. Power cycling includes on board TERMPWR
cycling caused by plugging, and SCSI device power cycling caused by plugging and switching.
Note. Any on-board switchable terminators as well as SCSI device transceivers may affect the impedance
state at the device connector contacts.
e. The SCSI device power may be simultaneously switched with the SCSI bus contacts if the power distri-
bution system is able to maintain adequate power stability to other SCSI devices during the transition
and the grounding requirements in items (b) and (c) above are met.
f. The SCSI bus termination shall be external to the SCSI device being inserted or removed.
g. Initiation or resumption of I/O processes for a newly inserted or removed SCSI device is vendor-specific
but shall not occur sooner than 200 milliseconds after the completion of the insertion or removal event.
h. Bypassing capacitors connecting to the TERMPWR line on the SCSI device being inserted or removed
shall not exceed 10 mF. For single-ended applications, SCSI bus terminations shall use voltage regula-
tion.
Note. In a multimode environment, any insertion or removal that changes the bus mode causes a transceiver
Note. LVD SCSI devices may require more stringent system design to tolerate transients that occur during
Case 4 insertion or removal.
8.5
SPI-3 to SCSI-2 terminology mapping
This section contains a mapping of terminology used in SCSI-2 to the terminology used in this manual (see
Table 69).
Table 69: SPI-3 to SCSI-2 terminology mapping
SPI-3 equivalent term
abort task
SCSI-2 term
abort tag
abort task set
cable skew
clear task set
head of queue
ordered
abort
cable skew delay
clear queue
head of queue tag
ordered queue tag
simple queue tag
bus device reset
I/O process
simple
target reset
task
task complete
task set
command complete
queue
160
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
A
B
blocked 4
bus
acknowledge
adapter
SCSI 13
bus device reset
message 138
bus free
host 14
Additional CDB
delay 27
bus signal
Additional CDB Length
address
task 10
SCSI 15
signal 31
byte 4
C
cables 12
Asynchronous 37
notification 4
report 144
call 4
characteristic
logical 51
attention
attribute 142
attribute 143
message 103
NACA=1 145
client-server 4
model 4
task 142
Parallel SCSI Interface Product Manual, Rev. A
161
Download from Www.Somanuals.com. All Manuals Search And Download.
code value
reserved 131
CRC 82
CRC-32 82
aborted 4
completed 5
ended 6
linked 7
overlapped 143
unlinked 11
untagged 149
D
Data
data 6
Command Descriptor Block
Data Length
DB(15—0) 17
format 133
linked 7
DB(7—0) 17
delay 27
deskewing 74
device
command descriptor byte
command structure
packetized 131
common access method
confirmation 5
connectors 12
NACA=0 145
destination 5
SCSI 9
source 10
device service
request 5
response 5
differential 5
differential sense
control/data
disconnect 5
capability 140
example 141
Disconnect Privilege
162
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
maximum-value 149
minimum-value 149
dormant
reserved 131
driver 6
G
glossary 4
H
HOLD_MCS 46
E
enabled
I
encapsulate 8
error 142
non-recoverable 9
event
asynchronous 10
reset 9
Identify
expected 11
implementation 6
option 6
implementation-specific 6
indication 6
F
fairness 59
Fast-5 43
field
information
media 7
suspended 10
Parallel SCSI Interface Product Manual, Rev. A
163
Download from Www.Somanuals.com. All Manuals Search And Download.
faulted 6
option 7
Logical Unit Number
single 14
initiator connection
incorrect 150
input/output
interconnect 6
physical 8
subsystem 6
intermediate 139
invalid 11
M
may 11
media
disc 140
iuCRC 6
message
iuCRC Interval
K
keyword 11
L
layer 7
complete 137
model
reference 9
164
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
multidrop 7
multimode
packetized 8
Packetized Failures
Packetized Failures List Length
Packetized Failures Valid
N
negotiate 40
negotiation 40
non-volatile 7
parameter
invalid 132
parameter value
rounding 149
parity 158
odd 8
partitions 2
PCOMP_EN 47
O
obsolete 11
operation
I/O 7
option 11
implementation 6
protocol 8
output
physical interface
characteristics 12
pointer 109
port 8
PPR 40
precompensation 47
procedure 8
P
P1 16
paced 37
pacing 8
SCSI 9
protection code checking
disabling 158
pacing transfer
enabling 158
Parallel SCSI Interface Product Manual, Rev. A
165
Download from Www.Somanuals.com. All Manuals Search And Download.
protocol 8
receive SCSI bus data and information phase DT
layer 9
option 8
SCSI 9
receiver 9
protocol service
confirmed 5
peer-to-peer 8
REQ/ACK 6
protocol-specific 11
Q
QAS 15
reserved 11
Reserved for Fiber Channel Protocol
Reserved for Fibre Channel Protocol
reset
QAS_REQ 46
queue 9
event 9
hard 6
R
RD_STRM 47
Read Data
response 9
service 10
166
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Sense Data List
Sense Data List Length
Sense Data Valid
server 9
S
SCSI
SCSI application
layer 9
SCSI architecture model
procedure 131
service 9
shall 11
signals 15
timing 20
structure 131
should 11
signal 10
identifier 9
insertion 158
removal 158
reservations 147
values 17
single-ended 15
SCSI message
summary 12
layer 9
Fast-10 30
Fast-20 29
Fast-5 30
SDTR 40
select
system 151
sender 9
Sense Data
Parallel SCSI Interface Product Manual, Rev. A
167
Download from Www.Somanuals.com. All Manuals Search And Download.
queued 147
slot 10
tag 10
Task Attribute
Status
subsystem 10
Synchronous 37
Task Management Flags
T
Tag
dormant 5
enabled 6
termination 12
third party
command 11
timing
tag 10
examples 142
waveforms 142
address 10
multiple 14
single 14
transaction 11
transmit SCSI bus data and information phase DT
completed 5
current 5
ended 10
manager 10
pending 8
168
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
170
Parallel SCSI Interface Product Manual, Rev. A
Download from Www.Somanuals.com. All Manuals Search And Download.
Download from Www.Somanuals.com. All Manuals Search And Download.
Seagate Technology LLC
920 Disc Drive, Scotts Valley, California 95066-4544, USA
Publication Number: 100293069, Rev. A, Printed in USA
Download from Www.Somanuals.com. All Manuals Search And Download.
|