How the command is passed, interpreted, and responded to, forms the basis for EIDE . In a nutshell, there are 7 registers, the Task File, that the BIOS writes to and reads from to create a command. An eighth register is used to read and write data. The signals that create these read and write signals are controlled by the BIOS, but their timing is determined by the interface hardware. The EIDE specifications dictate how fast these signals can be asserted or deasserted.
There are currently 4 modes of Programmed Input/Output (PIO) and 4 modes of Direct Memory Access (DMA). The numbers all of you have been reading about are only a small portion of these specifications, but they are the ones that marketing people can use to impress you. These "transfer rates" are a result of the specification that controls how fast the I/O Read and Write cycle times of the data register can operate at.
The theoretical transfer rate of PIO Mode 0 (600ns cycle time) is 3.3 megabytes per second.
The PIO modes, with their respective transfer rates:
PIO Mode | Cycle time (ns) | Transfer rate (MB/s) | Notes |
---|---|---|---|
0 | 600 | 3.3 | these are the old ATA modes |
1 | 383 | 5.2 | |
2 | 240 | 8.3 | |
3 | 180 IORDY | 11.1 | These are the newer ATA modes |
4 | 120 IORDY | 16.6 |
The ATA-2 specific modes (3 and 4) use IORDY hardware flow control. The IORDY line is a hardware flow control line available on the I/O bus connectors. This means that 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. With these you're stuck with the slower modes, with typically half the bandwidth. When interrogated with an Identify Drive command, a routine provided by the enhanced BIOS ROMs required to support EIDE, a hard disk returns, among other things, information about the PIO and DMA modes it is capable of using.
There are two distinct types of direct memory access. DMA and bus-mastering DMA. Ordinary DMA relies on the DMA controller on the computers system board to perform the complex task of arbitration, grabbing the system bus and transferring the data. In the case of bus-mastering DMA, all this is done by logic on the interface card itself. This adds considerably to the complexity and the price of a bus-mastering interface.
Unfortunately, the DMA controller on ISA systems is ancient and slow, and out of the question for use with modern hard disk drives. VESA Local Bus cards cannot be used as DMA targets at all and can only do bus-mastering DMA. It is only on EISA and PCI based interfaces that non-bus-mastering DMA is viable. EISA type 'B' DMA will transfer 4MB/s, PCI type 'F' DMA between 6 and 8MB/s.
The DMA modes supported are: (with their respective transfer rates)
DMA Mode | Cycle time (ns) | Transfer rate (MB/s) | Notes | |
---|---|---|---|---|
Single Word | 0 | 960 | 2.1 | also in ATA |
1 | 480 | 4.2 | ||
2 | 240 | 8.3 | ||
Multiword | 0 | 480 | 4.2 | also in ATA |
1 | 150 | 13.3 | ||
2 | 120 | 16.6 |
IDE, ATA, CAM, ATAPI and LBA | Hard Disk Drive technologies | Hard Disk Drive Interfaces | Back to the opening index | Book four index |