What is Scatter-Gather DMA (Direct Memory Access)?
Primary Software: LabVIEW Development Systems
Primary Software Version: N/A
Primary Software Fixed Version: N/A
Secondary Software: N/A
My DAQ device uses scatter-gather DMA to get data from the board to my computer, what does this mean?
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.
Developer Zone Tutorial: M Series Frequently Asked Questions
Knowledge Base 3G9E7C4H: How Many DMA Channels Does My M Series Data Acquisition (DAQ) Device Have?
Knowledge Base 34FGAFVM: Configuring the Data Transfer Mechanism (Interrupts or DMA) in DAQmx and Traditional DAQ
Knowledge Base KB 3KIBREQT: How Does DMA Work with High-Speed Digitizer Boards?
Knowledge Base 0I5924EO: What Are DMA and IRQ and What Are They Used for in GPIB?
Report Date: 09/04/1996
Last Updated: 01/02/2009
Document ID: 0P3BPGSR