eMMC write speed vs uSD?

When I connect with SSH and send some files I notice the filesystem writes around 700-800kBytes/sec over ethernet. I have gigabit ethernet and I assume the BBB connects at 100mbps.

While it’s been a while, I thought my class 4 microSD card wrote at something like 4megabytes/sec on my Beagebone white.

I tried connecting a USB stick and it also wrote at something like 800kB/sec.

The 4 bit SD mode vs 8 bit on the eMMC doesn’t seem to make as much of a difference as the flash memory speed.

There are times where I’m transferring large files (>500mB) and would like faster disk performance so maybe I should go back to booting off the microSD card.

Has anyone else tested write performance on the emmc vs microsd vs usb stick?

I’m getting

  • 4MB/s on USB harddisk (cat /dev/zero | ssh beaglebone ‘cat > /media/Hitachi/xxx’)
  • 2.5MB/s on memory (cat /dev/zero | ssh beaglebone ‘cat > /tmp/xxx’)
  • 1.5MB/s on eMMC (cat /dev/zero | ssh beaglebone ‘cat > /home/root/xxx’)
    for “scp”.

If I use “rsync” daemon (not through ssh), then I can get 8MB/s throughput.

For completeness,

NFS /root does around 6.6MB/s

iSCSI /home does around 11.5MB/s ( seems to max the 10/100 ethernet ).

I am in the middle of writing a howto on both, but I can test again later and give exact speeds. As I recall, uSD on a class 10 Samsung device was rather slow ( 3-4MB/s ), and have not tested eMMC yet, All tests I did were with at least 1GB worth of data via dd if=/dev/zero

This is way faster than what I’m getting over ssh using SecureFX as the transport program so maybe there is a ton of overhead. I’m going to try some other methods.

I tested this with the Ubuntu distribution released 6.14 and it writes 4.2MB/sec to emmc. Using the same 1gb file it writes at about 500kB/sec on Angstrom.

Why the huge variation?

check the 'mount' settings...

Regards,

Any other hints? I checked and ubuntu is mounted noatime while angstrom is relatime.

I changed it to noatime but it doesn’t seem to make any difference. I get around 300-400kB/sec on Angstrom but 4-6MB/sec on Ubuntu.

Greatly appreciate the help.

Yes. Flashbench results and raw dd performance for eMMC 4 bit mode [1]
and 8 bit mode [2].

[1]:http://lists.linaro.org/pipermail/flashbench-results/2013-January/000353.html
[2]:http://lists.linaro.org/pipermail/flashbench-results/2013-February/000355.html

tldr: Writes at 6 MB/s and reads at 17 MB/s (4 bit) or 22 MB/s for
sequential operations.

Make sure you're mount settings aren't requiring 'sync' or else you
won't get any performance advantage from the kernel buffering, although
it's safer from a "pull the plug out to shutdown" side of things.

-Andrew

I checked the mount settings and compared and changed /etc/fstab to have async and noatime but doesn’t really make much of a difference. Something else noticed was:

on ubuntu: /dev/mmcblk1p2 on / type ext4 (rw,noatime,errors=remount-ro)
on Angstrom: /dev/root on / type ext4 (rw,relatime,data=ordered)

This seems to indicate the emmc is not directly loaded but rather some layer.

Is there a simple fix for the this write speed issue under Angstrom?