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
Direction
Examples
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.