Scatter-gather
Een overdracht die in één keer uit of naar meerdere losse geheugengebieden leest of schrijft, zonder ze eerst naar één plek te kopiëren.
Een eenvoudig DMA-kanaal kan maar één aaneengesloten blok verplaatsen. Bij scatter-gather krijgt het een lijst descriptors (adres en lengte per stuk) en werkt die op volgorde af, zonder dat de CPU er tussendoor wakker hoeft te worden. Gather verzamelt bij het verzenden uit vele plekken; scatter verspreidt bij het ontvangen.
Netwerkkaarten zijn het schoolvoorbeeld: de protocolheader staat in de ene buffer, de payload in een andere, en de kaart leest beide rechtstreeks. Hetzelfde idee bestaat in software als readv() en writev(), geïntroduceerd in 4.2BSD. In firmware wordt het vaak gecombineerd met een ring van descriptors waar de DMA-controller eindeloos rondjes in draait.