The ATA-2 Fast ATA specification boasts a 16.6MBps rate for data transfer from a drive's
buffer to system memory. However, you are unlikely to achieve this rate under real-world IDE
implementations because of the limitations of existing drives and the command overhead that the ATA
interface requires. Even the fastest IDE/ATA hard disks aren't capable of much more than a 10MBps
sequential transfer rate (from drive to drive buffer). Furthermore, the buffer transfers on most IDE
systems are 4KB in size. Thus, a drive takes about 400 microseconds (4KB ÷ 10MBps) to read 4KB
of data into its buffer at 10MBps. Fast ATA's 16.6MBps transfer rate can easily keep pace, so there
shouldn't be a problem, right? Wrong.
Although the ATA interface is doing its job in this situation, a hidden factor limits the
10MBps (the drive's maximum transfer rate in the example) performance ceiling: command
turnaround time. Command turnaround time is the overhead associated with the operations of the
ATA/ATA-2 command set. (The host system's CPU speed also slightly affects command turnaround time.)
Most PCs have command turnaround times in the neighborhood of 275 microseconds. For controllers to
keep pace with the faster ATA/ATA-2 hard disks, command turnaround time needs to be about 150
microseconds. Thus, an ATA-2 controller cannot grab data as fast as it arrives in the drive's
buffer, resulting in a phenomenon known as slipped revolutions. Because the drive's buffer
is full and cannot accept more data, the drive platters must spin idly until the ATA interface can
catch up and free space in the buffer. This delay causes other delays that limit the performance of
ATA-2 drive subsystems.