Scatter-gather
Överföring där data hämtas från eller sprids till flera separata minnesområden i ett enda svep, i stället för att först kopieras ihop.
En enkel DMA-kanal kan bara flytta ett sammanhängande block. Med scatter-gather får den i stället en lista med deskriptorer — adress och längd för varje bit — och betar av dem i tur och ordning utan att processorn behöver vakna mellan bitarna. Gather är att samla ihop från flera ställen vid sändning, scatter att sprida ut vid mottagning.
Nätverkskort är typexemplet: protokollhuvudet ligger i en buffert och nyttolasten i en annan, och kortet läser båda direkt. Samma idé finns i mjukvara som readv() och writev(), införda i 4.2BSD. I firmware kombineras det ofta med en ringbuffert av deskriptorer som DMA-kontrollern varvar runt.