Generation Onboard Memory
Waveforms and scripts are stored together in device memory. They are stored in contiguous blocks, appearing in memory in the order they were written to the device. You can delete individual waveforms from the device, freeing up the space they occupy for other waveforms to be written.
Deleting waveforms that are not at the end of the utilized space causes memory fragmentation. The following scenario demonstrates how memory fragmentation can occur. First, assume four waveforms are currently in memory as shown in the following figure (sizes, in MS, are shown for clarity).
In the previous figure, there is enough memory to write an additional 22 MS waveform to the device.
If Waveform C is deleted, that memory is freed, as shown in the following figure.
However, because waveforms are always stored contiguously in memory, the largest waveform that could be stored in memory is still 22 MS.
Writing Waveforms C last would have been advantageous because then deleting Waveform C would create a single block of free space, as shown in the following figure.
In this situation, you can now write a 37 MS waveform to your device.
Notice that when you create a script for your dynamic generation operation it consumes some space in memory, as shown in the following figure.