Scatter-gather
Un trasferimento che legge o scrive più regioni di memoria separate in un'unica operazione, senza prima copiarle in un unico posto.
Un canale DMA di base sa spostare solo un blocco contiguo. Con lo scatter-gather riceve un elenco di descrittori — indirizzo e lunghezza di ciascun pezzo — e li percorre in ordine senza che la CPU debba intervenire nel frattempo. Il gather raccoglie da molte posizioni in trasmissione; lo scatter distribuisce in ricezione.
Le schede di rete sono l'esempio classico: l'intestazione del protocollo sta in un buffer, il payload in un altro, e la scheda legge entrambi direttamente. La stessa idea esiste nel software come readv() e writev(), introdotte in 4.2BSD. Nel firmware si abbina spesso a un anello di descrittori che il controller DMA percorre all'infinito.