Part Number: PROCESSOR-SDK-AM64X
Hello,
based on the SK-AM64 as well as the GPEVM I'm doing some performance analysis of various interfaces by using the block device abstraction layer of Linux.
In particular I'm interested in the PCIe interface (by using NVMe SSDs), the USB 3.0 interface (by using USB flash drives) and the SD/MMC interface (here by using microSD cards).
I'm benchmarking by reading/writing the block devices directly (i.e. /dev/sd..., /dev/nvme..., /dev/mmcblk...) using an own benchmark programm. Right now I'm only interested in strong sequential transfers with rather large block sizes.
While the results for USB 3.0 and PCIe are more or less as expected (speeds between 300-400MiB/s and beyond) I did spot some unexpected behaviour for the SD/MMC interface.
While I'm seeing reading speeds of around 90MiB/s which is as expected for UHS-I media, I'm seeing writing speeds significantly below that level. I did test state-of-the-art SanDisk and Samsung cards here. According to other (independent) testings, these cards should achieve around 90MiB/s. However, I'm getting just around 54MiB/s for the Samsung card and around 63MiB/s for the SanDisk card (with strong sequential write and even 16MiB block size, which is rather large).
The fact that both tested cards show different performances might indicate that these cards are the limiting factor and behave differently. Although I did not (yet) test these cards in other environments, I doubt that they are limiting the performance at that level, because they are reportedly being faster in independent tests. More testing with these cards is to follow here (for instance testing the very same cards in appropriately fast USB card readers on the SK-AM64). However, I wanted to ask in parallel whether there are some other experiences with the performance of the SD/MMC interface known.
Thanks,
Mario