Seagate Ultra 320 ユーザーズマニュアル

ページ / 186
Parallel SCSI Interface Product Manual, Rev. A )                                       
   39
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
PARALLEL PROTOCOL REQUEST (PPR) (see Section 4.3.12), SYNCHRONOUS DATA TRANSFER 
REQUEST (SDTR) (see Section 4.3.16), and WIDE DATA TRANSFER REQUEST (WDTR) (see Section 
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).