Direct Memory Access (DMA) is an efficient way for IO devices to move data to or from host memory. Once a DMA operation is set up by the host device driver, the device can manage the data transfer without further involvement of the host processor. DMA terminology can sometimes be confusing but if you keep in mind the direction the data is moving, you can figure it out.

DMA Operation



DMA Read

From host memory to device

Disk Write, Network Transmit

DMA Write

From device to host memory

Disk Read, Network Receive

A device gets data from host memory using DMA Read operations. Writes to disk and network transmit operations typically use DMA Reads.

A device puts data in host memory using DMA Write operations. Reads from disk and network receive operations typically use DMA Writes.