The memory 2 memory DMA controller transfers data from one memory location to another memory location. DMA operation begins when software enables a DMA, after setting the source and destination starting addresses, transfer count, and control information. The DMA engine moves the data block, and the DMA operation ends naturally when the number of bytes specified by the transfer count has been moved