What is Scatter-Gather DMA (Direct Memory Access)?

Updated Jan 25, 2018

Reported In

Hardware

  • Multifunction I/O Device
  • GPIB Instrument Control Device

Issue Details

My DAQ device uses scatter-gather DMA to get data from the board to my computer, what does this mean?

Solution

When a block move operation occurs, traditional DMA controllers need a contiguous (nonsegmented) block of physical memory. On most systems, it is difficult to get nonsegmented memory returned from the operating system.

The MITE and NI-STC DMA controllers can take segmented memory and perform a move operation on this memory using "scatter-gather" DMA. In this method, the DMA controllers store the starting addresses of all the memory segments. After the move operation starts, the DMA controller automatically feeds the DMA controller the start address of the next segment after the previous segment of memory is completed. Using this method, you do not need a contiguous block of memory from the operating system. This makes DMA ideal for non deterministic operating systems. 

See the links below for more information on DMA and how it is used with NI products. 

WAS THIS ARTICLE HELPFUL?

Not Helpful