Traditionally, CD-ROM drives have used Programmable Input Output (PIO) rather than Direct Memory Access (DMA) for data transfer. This was favoured for the earlier designs because hardware implementation is simpler and adequate for devices that require low transfer rates. The drawback is that the CPU must mediate the transfer of data, often byte by byte. As the data rate of CD-ROM drives has risen, so has the load on the CPU, to the point where 24-speed and 32-speed drives can completely saturate CPU utilisation in PIO mode. The severity of CPU loading depends on a number of factors, such as the exact PIO mode used, the PC’s IDE/PCI bridge design, the CD-ROM buffer size and design and the CD-ROM device driver.

DMA data transfer is always more efficient and requires only a few per cent of CPU time. It uses hardware to control data transfer directly to system memory, and only require initial memory allocation and minimal handshaking from the CPU. A further advantage is that performance is device rather than system dependent. DMA-capable devices should give consistent performance, regardless of the system they’re attached to.

DMA has been a standard feature of most SCSI systems for some time, but has only recently been common for IDE devices and interfaces. Windows has been a major drawback to DMA implementation in many desktop PCs, and DMA drivers for the Intel PIIX range of IDE/PCI bridge chips have only been included since the Windows 95 OSR2 and OSR2.1 OEM service releases. Even so, DMA is often not enabled in systems equipped with these operating system versions, either due to ignorance or because of concerns about overall system stability.