This article is from the storage FAQ part2, by Rodney D. Van Meter with numerous contributions by others.
Asynchronous transfers mean that every single byte must be
acknowledged before the next can be transfered. Synchronous means that
the device sending data can drop a series of transfers onto the bus,
toggling REQ or ACK (as appropriate), and then sit back and wait for
the corresponding pulses to return from the other device.
Async transfers, involving much more waiting, are correspondingly
slower. 2-4 MB/sec are good values for async transfers.
Sync transfer speeds are established during a negotiation between the
initiator and target, but devices are not required to use the full
speed they negotiate for. This speed represents the maximum burst rate
your device will use. Common values are 5 and 10 MB/sec.
In practice, virtually every modern device supports synchronous
transfers, but some implementations are better than others.
 
Continue to: