I need to copy 8MB of memory from one Zynq Ultrascale+ R5 to another Zynq Ultrascale+ R5, separated by up to a 1 meter distance as fast as possible. Both with DDR4. The destination R5 will be powered off until the memory is copied, but the source R5 will still be running. I might be able to basically pause it for a short time, maybe ~4ms. I'll power the destination R5 on when the 8MB region of memory is a bit-for-bit copy of the source memory. I'm currently using a XCZU2EG through early development, though I will step up to a more capable device shortly and have not settled on the final device. Can anybody recommend some buses and techniques to consider?
Ideally, I would like to copy the entire block in one step, in less than 4ms., but expect that I won't be able to do this fast enough. I expect that I will not be able to move it that fast. I expect I will have to do this much more intelligently and move chunks of data, starting with static regions. I can take my time and copy the static regions over a long time, but would like to move the dynamic regions in one last short burst, while the source PS is paused. I really want to avoid having to move dynamic regions in multiple bursts.
Does anybody have any recommendations? Maybe a DMA to a high speed external bus? Any recommendations on that external bus? Any ideas would be much appreciated.