7.4.2Disconnect 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. See Figure 20.

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.

Start

Bus Free

Arbitrate

Message In (disconnect)

Bus Free

Arbitrate

Message In (save ptrs.)

Message In (disconnect)

Bus Free

Data In

Status

Message In (command complete)

Select with

Attention

Reselect

Arbitrate

Bus Free

Message Out

(identify)

Message In

(identify)

Reselect

End

Command (ex. read)

Data In

Message In

(identify)

Figure 20. Disconnect example

Parallel SCSI Interface Product Manual, Rev. A

141

Page 155
Image 155
Seagate Ultra 160, Ultra 320 manual Disconnect example