Hardkernel has now introduced an orange eMMC module, which uses the Samsung eMMC 5.1 chipset, which has been shipping since October 2017.
It works with C1/C2/XU4 series with a proper OS. The latest official OS images all work fine. The schematics are available at eMMC PCB Rev 0.4. Orange eMMC compatibility status with XU4 series OS images
OS image | Image file information | Status |
---|---|---|
Ubuntu Mate | ubuntu-16.04.3-4.14-mate-odroid-xu4-20171212.img | OK |
Ubuntu Minimal | ubuntu-16.04.3-4.14-minimal-odroid-xu4-20171213.img | OK |
Android 7.1.1 | Alpha-1.1_14.11.17 | OK |
Android TV 7.1.1 | Alpha-1.0_20.11.17 | OK |
Android 4.4.4 | Android 4.4.4 (v5.8) | OK |
Debian Jessie | Debian-Jessie-1.1.4-20171121-XU3+XU4.img | OK |
ODROID Game Station Turbo (OGST) | ODROID-GameStation-Turbo-3.9.5-20171115-XU3+XU4-Jessie.img | OK |
Armbian | All Armbian variants starting with version 5.35 | OK |
OMV | OMV_3_0_92_Odroidxu4_4.9.61 | OK |
DietPi | DietPi_OdroidXU4-armv7-(Jessie).7z 22-Nov-2017 | OK |
Yocto project | No Flashable file reference | Untested |
Kali-Linux | No Flashable file reference | Untested |
Arch-Linux | No Flashable file reference | Untested |
ROS | No Flashable file reference | Untested |
Lakka | Lakka-OdroidXU3.arm-2.1-rc6.img.gz | OK |
Batocera | batocera-5.12-xu4-20171214.img.gz | OK |
RecalBox | recalbox (17.11.10.2) | OK-ish? |
RetroPie | No Flashable file reference | Untested |
The eMMCs from Sandisk will be version up to 5.1 with slightly faster data transfer speed starting from July 20, 2017. As shown in Figure 2, the QR code is on the left side of the ver5.1 chipset while eMMC ver 5.0 has it on the right side.
Kernel version 3.10 should have the following patches applied in order to make it work with XU4 series properly: Github, Github, Github.
References
eMMC module Revison 0.3 schematics Yellow eMMC Module Revision 0.4 schematics eMMC reader board schematics
- eMMC board dimensions : 18.5mm x 13.5mm
- Gap between the PCBs : 1.1mm (Height of assembled B2B connectors
The connector is made by LS-Mtron Korea. On the eMMC module, the GB042-34S-H10 (Socket-34pin) was used. On the host board, the GB042-34P-H10 (Plug-34pin) was used. The connector specification is here Information about Sandisk eMMC (iDisk Extreme) Information about Samsung eMMC Information about Essencore eMMC (8GB eMMC is used for XU4) Information about Toshiba eMMC
eMMC Read/Write test on ODROID-C2 HS400 mode (Unit : MByte/sec)
Samsung | Toshiba | Sandisk | ||
---|---|---|---|---|
8G | Write | 45.4 | 21.9 | N/A |
8G | Read | 113 | 148 | N/A |
16G | Write | 80.1 | N/A | 25.6 |
16G | Read | 126 | N/A | 153 |
32G | Write | 124 | N/A | 98.7 |
32G | Read | 125 | N/A | 153 |
64G | Write | 124 | 83.7 | 107 |
64G | Read | 124 | 153 | 153 |
Read/write command for the eMMC benchmark:
$ dd if=/dev/zero of=test.tmp oflag=direct bs=1M count=1024 $ dd if=test.tmp of=/dev/null iflag=direct bs=1M
ODROID-C2 + Black eMMC Performance Test of File I/O test conditions
- Ubuntu 16.04
- Kernel version : Linux odroid64 3.14.79-115
- Test tool : iozone revision 3.429
iozone installation and performance test:
$ sudo apt install iozone3 $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2< /* 8G */ random random kB reclen write rewrite read reread read write 102400 4 9290 13582 13570 13568 11900 8787 102400 16 10934 15680 27511 27484 25976 7699 102400 512 14943 23761 42163 42121 41361 15122 102400 1024 15140 28564 41951 41915 41196 16743 102400 16384 16559 24001 42308 42267 42287 28604 /* 16G */ random random kB reclen write rewrite read reread read write 102400 4 14602 14622 18102 17953 16768 14421 102400 16 49363 49279 52902 52808 47450 48389 102400 512 49779 49993 138268 138315 137171 48836 102400 1024 50005 49870 137522 137709 136958 49027 102400 16384 49861 50058 139358 139154 139299 50024 /* 32G */ random random kB reclen write rewrite read reread read write 102400 4 14608 14670 18333 18343 17935 14624 102400 16 58393 66157 56412 56766 55744 56371 102400 512 80356 81074 136828 137132 137503 79224 102400 1024 80464 81036 137368 137278 136896 79191 102400 16384 80388 81070 139486 139612 139446 80560 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 14240 14299 17619 17548 16012 14216 102400 16 49991 57484 53245 53405 50001 59302 102400 512 132316 135079 134154 134016 134208 129755 102400 1024 132476 134966 133753 133840 133677 130054 102400 16384 135772 139140 136133 136019 135821 135107 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 14162 14152 18161 18184 17833 14200 102400 16 56527 64906 55057 55684 54492 66525 102400 512 131327 131444 137307 137040 137358 132500 102400 1024 131908 131896 137570 137495 136844 132365 102400 16384 136418 134070 139940 133304 121160 134002The black eMMC module is made with the Samsung eMMC chipset. The red and blue (normal) eMMC module is made with Sandisk or Toshiba or AIO chipset. The ODROID-C1/C0/C1+/C2 devices works with the black and red eMMC modules. The ODROID-XU4/XU3/U3/X2/U2 devices do NOT work with black eMMC module.
New 8GB eMMC test on XU4 Ubuntu
The new 8GB eMMC red PCB for the ODROID-XU4 model is based on Essencore/AIO's eMMC 5.0 technology. Sequential speed with “dd” test:
- dd write : 15.1 MB/s
- dd read : 104 MB/s
- Random access(IOPS) speed test with 4k block.
- Random write : io=993228KB, bw=9928.2KB/s, iops=2482
- Random read : io=1479.1MB, bw=15149KB/s, iops=3787
eMMC vs SD card performance comparison on C2 Android using a 16GB eMMC Black PCB and a 16GB UHS-1 SDHC Card (Sandisk SDSDQAD-016G UHS-I 50 OEM model), with a cleanly flashed Android 5.1 V2.8 image and installed GApps Pico package:
- eMMC booting time from power on event : 18~20 seconds
- SDHC booting time from power on event : 32~35 seconds
Check points for system software developers
Do not overwrite the hidden eMMC boot partition. If you have, visit How to recover the eMMC boot loader to fix it. The eMMC must be partitioned as follows:
- FAT16 partition with UUID 6E35-5356 (boot)
- EXT4 partition with UUID e139ce78-9841-40fe-8823-96a304a09859 (Linux)
Copy the contents from Ubuntu image partitions to the boot and Linux partitions using “cp -afpv source destination”, then insert the eMMC module and boot normally. For comments, questions, and suggestions, please visit the original Wiki page at https://wiki.odroid.com/accessory/emmc/reference_chart.
Be the first to comment