How much overhead does the SCSI protocol impose?
At first glance the SCSI protocol may seem rather verbose with 6, 10 or 12 byte commands being sent to read a block of data. Let’s look at a WORST CASE example: • Host waits for the bus to be free (800 ns) • Host arbitrates for the bus (2400 ns) • Host selects target(900 ns) • Target enters MESSAGE OUT phase • Host sends IDENTIFY message (1 byte @asynch. = 800 ns) • Target enters COMMAND phase • Host sends 12 byte READ command requesting one 512 byte block (12 bytes @asynch. = 10,000 ns) • Target enters MESSAGE IN phase • Target sends DISCONNECT message (1 byte @asynch. = 800 ns) • Target re-selects host(900 ns) • Target sends RESTORE POINTERS message (1 byte @asynch. = 800 ns) • Target enters DATA IN phase • Target sends 512 bytes of data using U2W synchronous xfer mode(6400 ns) • Target enters STATUS phase • Target sends STATUS byte (1 byte @asynch. = 800 ns) Total transfer time = 24.6 us. Of that time, 18.2 us was due to the protocol. This comes out to 74% overhead! Fortunately, in