Using eMMC in Linux Print


The Emcraft i.MX 8M SOM provides a 8-bit eMMC storage device on the module. Depending on the build-time configuration of the i.MX 8M SOM, the eMMC capacity ranges from 4GB to 64GB.

Refer to Booting Linux from eMMC for detailed information on how to install bootable Linux images to the eMMC and then boot the i.MX 8M SOM from the eMMC.

eMMC Read-Write Performance

To provide for the optimal system performance, the U-Boot and Linux device drivers configure the eMMC for 8-bit mode operation. Run the following Linux command to validate the eMMC bus width:

root@imx8m-som:~# cat /sys/kernel/debug/mmc0/ios clock: 200000000 Hz actual clock: 200000000 Hz vdd: 21 (3.3 ~ 3.4 V) bus mode: 2 (push-pull) chip select: 0 (don't care) power mode: 2 (on) bus width: 3 (8 bits) timing spec: 10 (mmc HS400) signal voltage: 1 (1.80 V) driver type: 0 (driver type B)

The following Linux commands can be used to measure raw eMMC performance:

  • Measure eMMC write throughput:
  • root@imx8m-som:~# dd if=/dev/urandom of=/test oflag=direct bs=1MiB count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 3.86178 s, 27.2 MB/s

  • Measure eMMC read throughput:
  • root@imx8m-som:~# echo 3 > /proc/sys/vm/drop_caches root@imx8m-som:~# dd if=/test of=/dev/null bs=1MiB count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 0.440233 s, 238 MB/s