A Little IDE Math

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.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.