This item is from the Yet Another Enhanced IDE/Fast-ATA/ATA-2 FAQ, by John Wehman and Peter den Haan with numerous contributions by others. (v1.92).
The PIO mode determines how fast data is transferred to and from the drive. In the slowest possible mode, PIO mode 0, the data cycle time can not exceed 600 nanoseconds. In a single cycle, 16 bits are transferred in or out of the drive. In a single sector, there are 256 words (16 bits = 1 word); 2048 sectors make up a megabyte. So, mathematically,
1 cycle 1 sector 1 megabyte 2000 -------- --------- ------------ = ------ = 3.3MB/s 600ns 256 words 2048 sectors 600ns
So, the theoretical transfer rate of PIO Mode 0 (600ns cycle time) is 3.3 megabytes per second.
Here are the rest of the PIO modes, with their respective transfer rates:
PIO mode Cycle time transfer rate (ns) (MB/s)
0 600 3.3 ATA 1 383 5.2 ATA
2 240 8.3 ATA 3 180 11.1 ATA-2, IORDY required 4 120 16.6 ATA-2, IORDY required 5 90 22.2 vaporware
The first three, PIO modes 0 to 2, are old modes also present in the old ATA standard. The others (PIO 3 and 4) are ATA-2 specific and use IORDY hardware flow control. This means the drive can use the IORDY line to slow down the interface when necessary. Interfaces without proper IORDY support may cause data corruption in the fast PIO modes; in that you're stuck with the slower modes, and typically half the bandwidth.
When interrogated with an Identify Drive command, a harddisk returns, among other things, information about the PIO and DMA modes it is capable of using.