For all interested in the memory speeds possible (what to expect) and comparing the options to use the fastest memory,
e.g. for recording or transferring live data to a fast media.
I have measured the ZUBoard memory speeds (plus ETH speed):
eMMC | SD card (boot) | USB 1) 4) | SSD 2) 5) | RAM (as ref.) | |
wr | 4.6 MB/s | 21 MB/s - best 26 | 8 MB/s - best 38 | 174 MB/s | 395 MB/s |
rd | 85 MB/s | 23 MB/s - best 35 | 7 MB/s - best 40 | 427 MB/s | 805 MB/s - best 883 |
Ethernet speed:
ETH to host (iperf3) | |
tx | 860 .. 910 MB/s 3) |
rx | 860 .. 905 MB/s 3) |
1) depends on USB stick type, USB 3.x etc.
2) on Petalinux image (not PYNQ), with 256GB SSD and AVNET SSD/M.2 module
3) depends a bit where the rootfs is running on, e.g. a faster SD card vs. eMMC module
4) ATT: even faster as SD card - it is not possible to boot from USB: boot still via SD card (/boot) and change to /dev/sda as rootfs and main filesystem)? - possible?:
Not possible to change during boot to USB (as /dev/sda) for the rootfs, to continue there!
5) I had a lot of trouble to use an SSD inside an USB enclosure:
- most of the time the ZUBoard does not see /dev/sda
- if it sees it: often with size 0
- if it sees it properly with a valid size - I can "damage" quickly the SSD USB memory
ATT: it looks also dead as USB SSD on Windows PC! Hard to recover such a "bricked" USB SDD! (just via Windows host)
Conclusion:
- the SD card is OK (20 MB/s), but an USB memory can be faster (up to 2x faster as SD card):
unfortunately, we cannot mount the rootfs to USB (/dev/sda) during boot:
the USB (/dev/sda) seems to enabled later, boot will hang - the eMMC module is faster on READ (85 MB/s) compared to SD card,
but very bad on WRITE to eMMC (the worst: 4.5 MB/s):
not an option when we need a lot of WRITE data on rootfs (yes, eMMC can host and run rootfs,
possible to change from SD card boot to continue on eMMC) - USB memory sticks can be faster as SD card (2x faster as SD card):
but I have trouble to use SSD in USB enclosure as USB stick (often not seen or "bricked" after use) - SSD would be the best option:
BUT: SSD is not supported on PYNQ image (yet)!
It can also host and run the rootfs: boot from SD card, change bootargs and change to nvme0n1 as rootfs device.
Remark: it is not possible to image SSD and boot from SSD (directly, via BOOT.BIN, image.ub, still from SD card needed)
Fasted Speed to transfer data:
The best option to bring data with fastest speed is:
use ETH (1G PHY) and transfer the data to a host PC: 900 MB/s is possible (measured with iperf3).