1. Enkelt DMA-overførsel
Ved enkelt overførsel flytter DMA-controlleren en enkelt datablok fra hukommelsen til I/O-enheden og genererer en afbrydelse efter fuldstændig overførsel. Denne tilstand fungerer godt for enheder med en lille mængde data at overføre, såsom en karakterenhed eller en blokenhed med en lille blokstørrelse.
2. Burst DMA-overførsel
Ved burst-overførsel overfører DMA-controlleren en burst af data fra hukommelsen til I/O-enheden uden at generere en afbrydelse efter hver overførsel. Denne tilstand er velegnet til enheder med en stor mængde data at overføre, såsom et diskdrev eller en netværksadapter.
3. Scatter-Gather DMA-overførsel
Ved scatter-gather-overførsel overfører DMA-controlleren data fra flere hukommelsesbuffere til I/O-enheden. Denne tilstand er velegnet til enheder, der kræver data fra flere steder, såsom et grafikkort eller et lydkort.