Annex A (informative) SCSI signal sequence example

This annex is included to provide an example of the signal sequencing of an I/O process that includes most of the SCSI bus phases (see figure A.1). In this example, the target does not disconnect from the SCSI bus prior to completing the I/O process.

In a typical system, the computer's host adapter acts as the initiator and the peripheral device's controller acts as the target. In general, this International Standard does not attempt to distinguish between a computer and its host adapter. These functions may be separate or merged. The term initiator encompasses both. The term target refers to the controller portion of the peripheral device, which may be separate (bridge controller) from the peripheral device or merged with it (embedded controller). The term SCSI device refers to a device that may be connected to the SCSI bus. An SCSI device may act in the initiator role, the target role, or both roles.

The following notes apply to figure A.1.

DATA BUS NOTES

BUS PHASE NOTES

At least one bus free delay after first detecting BUS FREE phase, but no more than a bus set delay after the bus was last free, the initiator asserts the BSY signal and its assigned SCSI device ID bit on the DATA BUS. The initiator waits an arbitration delay, then examines the DATA BUS. If a higher priority SCSI device ID bit is true, the initiator loses arbitration and may release the BSY signal and its SCSI ID bit. Otherwise, the initiator wins arbitration and asserts the SEL signal. All SCSI devices must release the BSY signal and their SCSI ID bit within a bus clear delay after the SEL signal becomes true (even if they have not yet examined the DATA BUS). The winning SCSI device waits at least a bus clear delay plus a bus settle delay after asserting the SEL signal before changing any signals on the bus.

NON-ARBITRATING SYSTEMS (only permitted in SCSI-1): In such systems, the initiator waits at least a bus clear delay after detecting BUS FREE phase, then it asserts the target's SCSI ID bit and, optionally, the initiator's SCSI ID bit on the DATA BUS. After at least two deskew delays, the initiator asserts the SEL signal.

ARBITRATING SYSTEMS: In such systems, the SCSI device that won arbitration has both the BSY and SEL signals asserted. After at least a bus clear delay plus a bus settle delay, it places both the target's and the initiator's SCSI ID bits on the DATA BUS. At least two deskew delays later, it releases the BSY signal.

ALL SYSTEMS: The target determines 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 a bus settle delay. The target then asserts the BSY signal within a selection abort time after it last determined that it was still being selected. (The target is not required to respond to a selection within a selection abort time; but it must ensure that it will not assert the BSY signal more than a selection abort time after the initiator aborts a selection attempt.)

At least two deskew delays after the initiator detects the BSY signal is true, it releases the SEL signal.

HANDSHAKE PROCEDURE: The target asserts the REQ signal. Upon detecting the REQ signal is true, the initiator drives the DATA BUS to the desired value, waits at least one deskew delay plus a cable skew delay and then asserts the ACK signal. The initiator continues to drive the DATA BUS until the REQ signal is false.

When the ACK signal is true at the target, the target reads the DATA BUS and then negates the REQ signal.

When the REQ signal becomes false at the initiator, the initiator may change or release the DATA BUS and negate the ACK signal.

The target may continue to request command bytes by asserting the REQ signal again. The number of command bytes is determined by the group code (most significant 3 bits) that is contained in the first command byte.

HANDSHAKE PROCEDURE: The target first drives the DATA BUS to their desired values, waits at least one deskew delay plus a cable skew delay, and then asserts the REQ signal. The target continues to drive the DATA BUS until the ACK signal is true.

When the REQ signal is true at the initiator, the initiator reads the DATA BUS and then asserts the ACK signal.

When the ACK signal is true at the target, the target may change or release the DATA BUS and negate the REQ signal.

When the REQ signal is false at the initiator, the initiator negates the ACK signal. After the ACK signal is false, the target may continue the transfer by driving the DATA BUS and asserting the REQ signal as described above.


Figure A.1 - SCSI signal sequence example