6 scatter/gather dma – ADLINK PCI-7300A User Manual
Page 39
 
Operation Theory
• 31
4.6 Scatter/gather DMA
The PCI Bridge also supports the function of scatter/gather bus mastering 
DMA, which helps the users to transfer a large amount of data by linking the all 
memory blocks into a continuous linked list. 
 
In the multi-user or multi-tasking OS, like Microsoft Windows, Linux, and so on. 
It is difficult to allocate a large continuous memory block to do the DMA transfer. 
Therefore, the PLX PCI-9080 provides the function of scatter/gather or 
chaining mode DMA to link the non-continuous memory blocks into a linked list 
so that users can transfer a very large amount of data without limiting by the 
fragment of small size memory. Users can configure the linked list for the input 
DMA channel or the output DMA channel. The figure 4.7 shows the linked list 
that is constructed by three DMA descriptors. Each descriptor contains a PCI 
address, a local address, a transfer size, and the pointer to the next descriptor. 
Users can allocate many small size memory blocks and chain their associative 
DMA descriptors altogether by their application programs. The 
cPCI/PCI-7300A’s software driver provides the easy settings of the 
scatter/gather function, and some sample programs are also provided within 
the ADLink all-in-one CD. Users can refer to these sample programs and the 
function 5.14 and 5.18 for more detailed description. 
 
Figure 4.7: Scatter/gather DMA for digital output