Parallel SCSI Interface Ultra 160 Ultra 320
Parallel SCSI Interface Ultra 160 Ultra 320
©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 trademarks or trademarks of Seagate Technology LLC. Other product names are registered trademarks or trademarks of their owners. Seagate reserves the right to change, without notice, product offerings or specifications.
Revision status summary sheet Revision Rev. A Date 03/27/06 Writer/Engineer C. Chalupa/G. Houlder Parallel SCSI Interface Product Manual, Rev. A Sheets Affected All.
iv Parallel SCSI Interface Product Manual, Rev.
Table of Contents 1.0 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. . . . . . . . . . . . . . . . . . . . .
2.5.35 Receive setup time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.36 Receive REQ(ACK) period tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.37 Receive REQ assertion period with P_CRCA transitioning. . . . . . . . . . . . . . . . . . . . . . . . . 2.5.38 Receive REQ negation period with P_CRCA transitioning . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.
3.0 2.12.8.3QAS_REQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12.8.4HOLD_MCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12.8.5WR_FLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.12.8.6RD_STRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.0 viii 3.7.1 DATA phase overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.2 DT DATA IN phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.3 DT DATA OUT phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7.4 ST DATA IN phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.
8.0 x 7.3.1 Status precedence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4 Command examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 Single command example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 Disconnect example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
List of Figures Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19. Figure 20. SCSI client-server model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Voltage and current definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 LVD Signaling sense .
xii Parallel SCSI Interface Product Manual, Rev.
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.
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. Commands SCSI Primary Commands (SPC) SCSI Interlocked Protocol Protocols and SCSI Parallel Interface (SPI-3) Figure 1.
1.1.
Logical Unit Application Client Device Service Request Device Service Response Device Server Task Management Request Task Management Response Initiator Figure 2. SCSI client-server model 1.2.1 Glossary Task Manager Target aborted command—A SCSI command that has been ended by aborting the task created to execute it. ACA—Auto Contingent Allegiance (see below).
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 Complete or Linked Command Complete. completed task—A task that has ended by returning a status and service response of Task Complete.
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.
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.
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.
protocol service request—A call to the lower level protocol service layer to begin a protocol service transaction. protocol service response—A reply from the upper level protocol layer in response to a protocol service indication. 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.
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.
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 execution 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.
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 Section 4.
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 interface requirements and SCSI features supported by the drive described in the particular Product Manual being referenced.
Table 1: SCSI address SCSI IDs and associated SCSI bus arbitration priorities DB 15 DB 8 DB 7 DB 0 Priority 7 - - - - - - - - 1 - - - - - - - 1 6 - - - - - - - - - 1 - - - - - - 2 5 - - - - - - - - - - 1 - - - - - 3 4 - - - - - - - - - - - 1 - - - - 4 3 - - - - - - - - - - - - 1 - - - 5 2 - - - - - - - - - - - - - 1 - - 6 1 - - - - - - - - - - - - - - 1 - 7 0 - - - - - -
2.1 SCSI bus signals overview Information transfer on the SCSI bus is allowed between only two SCSI devices at any given time except during 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.
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 number of logical ones in the byte plus the parity bit is odd. Data group transfers are enabled (see Section 4.3.
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.
I– – SIGNAL Vs I+ V– + SIGNAL V+ – 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. LOGICAL 0 (NEGATED) (FALSE) LOGICAL 1 (ASSERTED) (TRUE) V+ LOGICAL 1 (ASSERTED) (TRUE) VCM V– VCM=(V++V–)/2 VN VBIAS 0V (OFF) V––V+ DIFFERENTIAL BUS VOLTAGE b.
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.
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 connection. 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 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 ATN transmit setup time 2.5.2 min 90 33 33 21.5 19.25 ATN receive setup time 2.5.3 min 45 17 17 8.5 6.75 Cable skew [2] 2.5.8 max 4.0 4.0 4.0 3.0 2.5 Receive assertion period [3] 2.5.30 min N/A 70 22 11 6.5 Receive hold time [3] [4] 2.5.
[2] [3] [4] [5] Cable skew is measured at each SCSI device connection within the same bus segment with the transmitted skew subtracted from the received skew. 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. Relative to the REQ(ACK) clocking signal. Note. 22 Fast-160 SCSI devices shall not change timing parameters between training (see Section 3.5.3.
Table 7: Transmit SCSI bus data and information phase DT timing values Timing values for negotiated transfer rate in nanoseconds unless otherwise noted [1] Fast160 Fast320 14.8 14 14 9.6 4.8 14 14 29.2 19.6 14.8 14 14 38.4 19.2 9.6 4.8 N/A N/A min 48.4 29.2 19.6 14.8 N/A N/A 2.5.55 min 92 46 23 11.5 5.69 2.565 Transmit hold time [2] [3] 2.5.56 min 38.4 19.2 9.6 4.8 4.77 0.365 Transmit ISI compensation 2.5.57 max 1.0 0 Transmit negation period [2] 2.5.
Table 8: Receive SCSI bus data and information phase DT timing values Timing values for negotiated transfer rate in nanoseconds unless otherwise noted [1] Fast160 Fast320 3.45 3.0 3.0 2.9 1.45 3.0 3.0 12.8 9.9 8.45 3.0 3.0 11.6 5.8 2.9 1.45 N/A N/A min 18.6 12.8 9.9 8.45 N/A N/A 2.5.30 min 80 40 20 8.5 4.74 1.615 Receive hold time [2] [3] 2.5.31 min 11.6 5.8 2.9 1.45 -0.08 -6.635 Receive negation period [2] 2.5.34 min 80 40 20 8.5 4.74 1.
Table 9: SCSI Fast-160 and fast 320 non-compensatable timing budget in nanoseconds Fast-160 Fast-320 Comments REQ(ACK) period 12.5 6.25 From Table 7 Transfer period 6.25 3.125 REQ(ACK) period / 2 Item Total Errors Post Compen sation Total Errors Post Compen sation REQ(ACK) period tolerance / 2 0.06 0.06 0.06 0.06 Clock Jitter 0.25 0.25 0.25 0.50 System noise at transmitter 0.25 0.25 0.2 0.2 Transmitter chip skew 0.75 0 0.75 0 Transmitter trace skew 0.2 0 0.
Table 10: SCSI fast-160 and fast-320 interconnect timing budget in nanoseconds Item Fast-160 Fast-320 Comments REQ(ACK) period 12.5 6.25 from table 6 Transfer period 6.25 3.125 REQ(ACK) period/2 Nominals: Total Errors Post Compens ation Total Errors Post Compens ation Cable skew a b 2.5 0 2.5 0 Crosstalk time shift 0.7 0.7 0.5 0.5 Time impact ISI of data 4.0 2.0 4.0 1.0 Worse case pattern 7.2 2.7 7.0 1.
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.
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.
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.
DB(P1) signals. For paced data transfers negative values as measured at the device connector are accommodated 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 timing compensation from all sources measured from the worst-case bit (i.e., data or parity) to the compensated offset strobe.
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.
pensation. 2.5.49 Skew correction range 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.
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.
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) signals. 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.
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 relationship 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.
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.
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.
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.
The iuCRC shall be used to protect all SPI information units. The SCSI device that originates the SPI information 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 information units.
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.
Table 11: Negotiable fields and effects of successful negotiation Negotiation message pair Field name Protocol options PPR WDTR SDTR PCOMP_EN Negotiated Sets to 00h Sets to 00h RTI Negotiated Sets to 00h Sets to 00h RD_STRM Negotiated Sets to 00h Sets to 00h WR_FLOW Negotiated Sets to 00h Sets to 00h HOLD_MCS Negotiated Sets to 00h Sets to 00h QAS_REQ Negotiated Sets to 00h Sets to 00h DT_REQ Negotiated Sets to 00h Sets to 00h IU_REQ Negotiated Sets to 00h Sets to 00h
2.12.4 Transfer agreements The transfer agreements that are in effect for various combinations of field values are described in Table 13.
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 values are defined in Table 14. Table 14: Value Transfer period factor Description Message Transfer rate 00h - 06h Reserved N/A N/A 07h Transfer period equals 3.125 ns PPR Fast-320 08h Transfer period equals 6.
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 synchronous 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.
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 lists the protocol options bits.
Table 19 describes the bus phases resulting from IU_REQ changes. Table 19: Bus phases resulting from IU_REQ changes Initial IU_REQ Modified IU_REQ value Causes 0 0 a. PPR negotiation keeping IU_REQ set to zero; b. WDTR negotiation; or c. SDTR negotiation 0 1 a. PPR negotiation setting IU_REQ to one BUS FREE phase 0 a. PPR negotiation setting IU_REQ to zero; b. WDTR negotiation; or c. SDTR negotiation BUS FREE phase 1 1 1 a. PPR negotiation keeping IU_REQ set to one BUS FREE phase 2.12.8.
Table 20 defines valid combinations of HOLD_MCS and other fields. 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.
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.
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.
50 Parallel SCSI Interface Product Manual, Rev.
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.
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.
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.
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 information 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.
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 phase (see Section 3.1.1.1 on page 51). 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.
Refer to Section 3.4 for a description of the fairness algorithm which applies during SELECTION and RESELECTION 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.
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 minimum 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).
(a) Optionally, the initiator shall assert the RST signal (see Section 5.3); (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.
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.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.
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.
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(70,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.
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.
ABORT TASK message (see Section 4.5.2) to the target. 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 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.
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.
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.
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.
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.
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.
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.
The SCSI initiator port shall begin the section A of its training pattern independent of the start of the SCSI target 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 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.
The SCSI target port shall begin pacing transfers only after meeting all the following: • signal restrictions between information transfer phases listed in Section 3.10; • 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.
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.
Table 22: Wide SCSI byte order Transfer number SCSI bus 15....8 7....0 Data transfer width 1 N/A W 8-bit 2 N/A X 3 N/A Y 4 N/A Z 1 X W 2 Z Y 16-bit 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.
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.
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 create 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.
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.
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 COMMAND ARBITRATION DATA RESELECTION STATUS BUS FREE MESSAGE IN Figure 11. Phase sequences for physical reconnection and selection using attention condition with information unit transfers disabled 3.11.
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 unit transfer agreement is in effect shall be as shown in Figure 13. The normal progression for selection without using attention condition (see Section 3.2.1.1.3) if QAS is disabled is: 1. from the BUS FREE phase to ARBITRATION; 2.
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 shall be as shown in Figure 14. 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.
For COMMAND, MESSAGE, and STATUS phases, the DB(P_CRCA) signal shall indicate odd parity for DB(70). 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).
4.0 Message system specification SCSI protocol messages allow communication between a SCSI initiator port and a SCSI target port for the purpose of link management. The link management messages used for this purpose are defined within this standard 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.
Table 24: Message format Message code Message format 00h One-byte message (TASK COMPLETE) 01h Extended messages 02h–0Ah One-byte messages 0Bh Obsolete one-byte messages 0Ch–0Eh One-byte messages 0Fh–10h Reserved one-byte messages 11h–13h Obsolete one-byte messages 14h–15h Reserved one-byte messages 16h–17h One-byte messages 20h–24h Two-byte messages 25h–2Fh Reserved two-byte messages 30h–54h Reserved 55h One-byte message 56–7Fh Reserved 80h–FFh 4.2.
Table 26: Extended Message Codes Code Extended message 00h MODIFY DATA POINTERS 01h SYNCHRONOUS DATA TRANSFER REQUEST 02h Reserved 03h WIDE DATA TRANSFER REQUEST 04h PARALLEL PROTOCOL REQUEST 05h 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.
Support IU transfers disabled IU transfers enabled Init Targ Init Targ Message name Reference section 55h NS O O O QAS REQUEST 4.3.13 In N/A 03h O O O O RESTORE POINTERS 4.3.14 In N/A 02h O O NS NS SAVE DATA POINTER 4.3.15 In N/A 01h,03h,01h O O M M SYNCHRONOUS DATA TRANSFER REQUEST 4.3.16 In 00h M M NS NS TASK COMPLETE 4.3.17 In 01h,02h,03h O O M M WIDE DATA TRANSFER REQUEST 4.3.
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.
Only one logical unit number shall be identified per task. The initiator may send one or more IDENTIFY messages 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 initiator may change the DISCPRIV bit, but shall not attempt to switch to another task.
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.
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.
Table 32: Bit Byte MODIFY BIDIRECTIONAL DATA POINTER message format 7 6 5 4 3 2 0 EXTENDED MESSAGE (01H) 1 EXTENDED MESSAGE LENGTH (09H) 2 MODIFY BIDIRECTIONAL DATA POINTER (05H) 3 DATA--OUT ARGUMENT 6 (LSB) (MSB) 8 9 DATA--IN ARGUMENT 10 4.3.11 0 (MSB) 4 5 7 1 (LSB) 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.
4.3.12 PARALLEL PROTOCOL REQUEST PARALLEL PROTOCOL REQUEST messages (see Table 33) are used to negotiate a synchronous data transfer agreement, a wide data transfer agreement, and set the protocol options between two SCSI devices.
See Section 3.5 for an explanation of the differences between ST and DT data transfers. 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 00h 01h-FEh FFh Description Timing values Specifies asynchronouse transfer agreement. The Transfer period factor and protocol options other than QAS_REQ shall be ignored.
Table 34: Valid protocol options bit combinations QAS_REQ DT_REQ IU_REQ Description 0 0 0 Use ST DATA IN and ST DATA OUT phases to transfer data 0 1 0 Use DT DATA IN and DT DATA OUT phases with data group transfers 0 1 1 Use DT DATA IN and DT DATA OUT phases with information unit transfers 1 1 1 Use DT DATA IN and DT DATA OUT phases with information unit transfers and use QAS for arbitration A Parallel Protocol Request agreement applies to all logical units of the two SCSI devices that
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 an abnormal condition prevents the target from responding with a PARALLEL PROTOCOL REQUEST message 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.
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: Bit Byte Synchronous Data Transfer Request message format 7 6 5 4 3 2 0 EXTENDED MESSAGE (01h) 1 EXTENDED MESSAGE LENGTH (03h) 2 SYNCHRONOUS DATA TRANSFER REQUEST (01h) 3 TRANSFER PERIOD FACTOR [1] 4 REQ/ACK OFFSET 1 0 The TRANSFER PERIOD FACTOR field values are defined below.
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).
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 initiator 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.
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: Bit Byte WIDE DATA TRANSFER REQUEST message format 7 6 5 4 3 2 0 EXTENDED MESSAGE (01h) 1 EXTENDED MESSAGE LENGTH (02h) 2 WIDE DATA TRANSFER REQUEST (03h) 3 TRANSFER WIDTH EXPONENT 1 0 The TRANSFER WIDTH EXPONENT field defines the transfer width to be used during ST DATA IN phases and ST Data Out phases.
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 Section 4.3.16) shall be set to zero.
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.
When a target does a physical reconnection to an initiator to continue a tagged task, the Simple Queue message 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 attention condition.
4.4.3 HEAD OF QUEUE See Table 42 for the format of the Head of Queue message. Table 42: Bit Byte Head of Queue message format 7 6 5 4 3 0 MESSAGE CODE (21h) 1 TAG (00h-FFh) 2 1 0 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.5 Task management messages Table 45 lists the codes used for messages that manage tasks. Details about these task management messages is given in subsections following the table. 4.5.
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. 4.5.
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.
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 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 agreement. 5.4 Reset events When a SCSI device detects a reset event it shall initiate hard reset. 5.4.
• 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.
5.6 Command processing considerations and exception conditions 5.6.1 Command processing considerations and exception conditions overview 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.
A task manager that detects an incorrect initiator connection shall abort all tasks for the initiator and the associated logical unit and shall return CHECK CONDITION status for the task that caused the incorrect initiator connection. 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 4.4). Note. 5.6.
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.
Logical reconnections occur on the successful target transmission and initiator receipt of a SPI L_Q information unit for an existing I/O process. The logical reconnection reestablishes the I_T_L_Q nexus for that I/O process. 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.
SELECTION DT DATA OUT [1] SPI L_Q (always Init to Targ) (logical connect) [2] SPI COMMAND (always Init to Targ) Attention Condition (logical disconnect) BUS DT DATA IN MESSAGE MESSAGE FREE (to SPI L_Q/DATA [3] IN OUT (physical or (QAS or WDTR) disconnect) SPI L_Q/STATUS [4]) [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. [3] See Figure 16. [4] See Figure 18. Figure 15.
DT DATA IN (from SPI STATUS or SPI DATA) RESELECTION DT DATA OUT (from SPI COMMAND or SPI DATA) DT DATA IN [1] SPI L_Q (always Targ to Init) (logical reconnect) (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] BUS FREE (physical disconnect) MESSAGE OUT MESSAGE IN [1] See Table 49 for the format of the SPI L_Q information unit.
DT DATA IN (from SPI STATUS or SPI DATA) RESELECTION DT DATA OUT (from SPI COMMAND or SPI DATA) DT DATA IN [1] SPI L_Q (always Targ to Init) (logical reconnect) (data pointer restored) DT DATA IN or DT DATA OUT [2] Attention Condition SPI DATA (data pointer saved) [4] (logical disconnect) DT DATA IN to SPI L_Q/STATUS [3] BUS FREE (physical disconnect) MESSAGE IN [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.
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 [2] Attention Condition SPI STATUS (always Targ to Init) (logical disconnect) BUS FREE DT DATA IN (physical (to SPI L_Q/DATA [3]) disconnect) MESSAGE 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.
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.
Table 47: Task Attribute Codes Description 000b Requests that the task be managed according to the rules for a simple task attribute. See the SCSI Architecture Model-4 standard. 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 010b Architecture Model-4 standard. 011b Reserved.
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.
Bit Byte 7 13 MSB 6 14 5 4 3 2 LSB BIDI Direction [5] 17 18 0 Data Length [4] 15 16 1 Reserved Reserved MSB iuCRC Interval [6] 19 20 LSB MSB 21 iuCRC [7] 22 23 [1] 122 LSB 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.
Table 50: SPI L_Q information unit type Codes Type Description Last Command 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 command information units during the current connection. The value of the Data Length field shall 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.
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.
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.
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.
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 preceding 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.
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 iuCRC field shall use the algorithm defined in Subsection 11.3, ANSI SCSI Parallel Interface (SPI-5), T10/ 1525D. Parallel SCSI Interface Product Manual, Rev.
130 Parallel SCSI Interface Product Manual, Rev.
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.
The Command Descriptor Block always has an operation code as the first byte of the command. This is followed by command parameters (if any), and a control 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.
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 terminates 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 59: Bit Byte Typical CDB for 12-byte commands 7 6 5 4 0 2 1 0 OPERATION CODE [1] 1 2 3 Reserved SERVICE ACTION (if required) [2] (MSB) 3 LOGICAL BLOCK ADDRESS (if required) [3] 4 5 6 (LSB) (MSB) 7 TRANSFER LENGTH (If required) [4] PARAMETER LIST LENGTH (if required) [5] ALLOCATION LENGTH (if required) [6] 8 9 (LSB) 10 Reserved 11 CONTROL [7] See notes following Table 61.
Bit Byte 10 7 6 5 4 3 2 1 0 (MSB) 11 TRANSFER LENGTH (If required) [4] PARAMETER LIST LENGTH (if required) [5] ALLOCATION LENGTH (if required) [6] 12 13 (LSB) 14 Reserved 15 CONTROL [7] See notes following Table 61.
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 12byte and the 16-byte command descriptor blocks contain 32-bit Logical Block Address fields.
Table 62: Control field Bit Byte Last [a] 7 6 5 VENDOR-SPECIFIC 4 Reserved 3 2 1 0 NACA [a] Obsolete [c] LINK [b] 0 or 1 The Normal Auto Contingent Allegiance (NACA) bit is used to control the rules for handling an Auto Contingent Allegiance (ACA) condition caused by the command. Section 7.6.1.1 specifies the actions to be taken by the logical unit in response to an ACA condition for NACA bit values of one or zero.
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. 2. 3. 4. 5. 6. an Abort message a Bus Device Reset message a hard reset condition an unexpected Bus Free condition (see Section 3.1.
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 recommended initiator recovery action is to issue the command again at a later time. Intermediate.
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 that no linked commands and no malfunctions or errors occur and is illustrated in Figure 19.
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 bus and reselecting the initiator.
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.
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).
Note. 7.6.3 Some logical units may not detect an overlapped command until after the command descriptor block has been received. 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).
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. b. c. d. an error condition was encountered after command completion; a newly initialized device is available; some other type of unit attention condition has occurred; or an asynchronous event has occurred.
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. b. c. d. e. f. g. h. i. j. k. l. m. n.
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.
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.
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 condition exists. During this time all commands in the queue are suspended. All commands used for recovery operations are untagged commands. Deferred errors are normally related to a command that has already completed.
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.
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 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.
Table 65: Exception commands for background self-tests Device type [a] All device types Direct access Command Reference SEND DIAGNOSTICs (with Self-Test Code field set to 100b) [2] WRITE BUFFER (with the mode set to any download microcode option [2] FORMAT UNIT SBC START/STOP UNIT (stop only) a. Device types not listed in this table do not have commands that are exceptions for background selftests, other than those listed above for all device types. b.
Table 66: Mode Self-test mode summary When status is returned How to abort the self-test Processing of subsequent commands while self-test is executing Self-test failure reporting Foreground After the Abort Task task If the command is INQUIRY, REPORT self-test is management LUNS, or REQUEST SENSE, complete function process normally. Otherwise, terminate with CHECK CONDITION status, Not Ready sense key, and Logical Unit Not Ready, Self-Test In Progress additional sense code.
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.
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.
8.3.2.2 Code description The protection code (see Table 68) is a cyclic binary BCH code. Table 68: Protection code Code Maximum data bits allowed (21,15,4) 15 Number of redundant bits 6 Minimum distance of the code 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.
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 normal wide transfer.
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.
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.
Index autosense 131, 145 autosense delivery 144 A B abort message 138 abort task 138 abort task message 105 abort task set message 106 aborted command 4, 143, 150 ACA. see Auto Contingent Allegiance ACK.
code value reserved 131 command 4, 6 aborted 4 completed 5 ended 6 linked 7 overlapped 143 SCSI-3 standards 2 single, example 140 third party 11 unlinked 11 untagged 149 command complete message 140, 141 command completion 131 command data 5 command data signal 29 Command Descriptor Block SPI command information unit 119, 120 command descriptor block 5, 131, 135, 144, 150 10-byte commands 133 12-byte commands 134 16-byte commands 134 6-byte commands 133 control field 136 format 133 linked 7 typical variable
disconnect privilege 148 domain 5, 9 dormant task state 5 double transition 6 DP-1 signals 34 drive select 17 driver 6 driver precompensation 36 DT Data In 5 DT Data In phase 5, 38 DT Data Out 5 DT Data Out phase 38 DT Data phase 7, 38 DT DATA phases 37 DT Data phases 31, 34 DT timing values 23, 24 duplicate tag 143 dynamically changing transmission modes 15 E electrical description 12 enabled task state 6 enabled state 4 encapsulate 8 ended command 6 error 142 non-recoverable 9 error and exception conditi
information unit sequence 113 information unit transfer 6, 38 initial connection 6 initiator 3, 6, 14, 131, 140 faulted 6 multiple 3, 14 single 14 initiator connection incorrect 150 initiator detected error message 89 initiator port 13 input/output SCSI bus signal 15 input/output.
multidrop 7 multimode SCSI bus signal 15 multimode I/O circuits 15 multimode single-ended 7 multiple initiator 14 multiple initiators 3 multiple target 14 N NACA.
protection code error 158 protection code generator 157 protection code transmission 158 protocol 8 layer 9 lower level 7 option 8 SCSI 9 SCSI-3 standards 2 service confirmation 8 service indication 8 service request 9 service response 9 service, unconfirmed 11 upper level 11 protocol option bits 92 protocol options 45 protocol options bits 45 protocol service confirmed 5 peer-to-peer 8 protocol service interface 5 protocol specific 6 protocol-specific 11 protocol-specific event 9 Q QAS 15 QAS arbitration
RSPVALID. see Packetized Failures Valid RST.
SPI status information unit 113, 127 ST Data phase parallel transfers 38 ST DATA phases 37 ST LVD phases 34 state of the bus 6 Status SPI status information unit 127, 128 status 6, 138 status byte 131, 138 status phase 138 status precedence 139 status response 5 stored pointer 140 subsystem 10 suspended information 10 Synchronous 37 synchronous data transfer request message 97 Synchronous transfers 37 system deskew delay 32 T Tag SPI L_Q information unit 121, 123 tag 10 tag value 143 tagged command 148 tag
two-byte message 84 Type SPI L_Q information unit 121, 122 U Ultra160 1 Ultra320 1 unconfirmed protocol service 11 unexpected bus free 138 unit attention condition 146, 150 unit attention mode parameters page 146 unit attention parameters 146 unit attention sense key 146 unlinked command 11 untagged command 149 untagged task 143 address 10 queuing 147 upper level protocol 8, 11 upper level protocol transactions 7 V validity of data 5 variable length command structure 5 vendor specific 11 error recovery 14
170 Parallel SCSI Interface Product Manual, Rev.
Seagate Technology LLC 920 Disc Drive, Scotts Valley, California 95066-4544, USA Publication Number: 100293069, Rev.