eMMC Module
- Check the eMMC module compatibility.
- If the OS on your eMMC is corrupted or the eMMC has a wrong boot loader, reinstall a proper boot loader on the eMMC via eMMC Recovery.
- The Orange eMMC modules work with ODROID-C0/C1/C1+/C2/C4/XU4/H2/H3/N2/M1 series.
- The Black eMMC modules work with ODROID-C0/C1/C1+/C2/C4/H2/N2.
- The Red eMMC modules work with ODROID-C0/C1/C1+/C2/C4/XU4/H2/N2.
Kingston 128GB/256GB eMMC Module
A new 128GB and 256GB eMMC module uses the Kingston eMMC 5.1chipset.
The Kingston eMMC chipset does support the legacy 4bit interface mode and you can use it with the original eMMC-to-MicroSD adapter (reader board).
You can use this eMMC reader to read and write with USB Multi-reader via leagcy 4bit interface mode.
https://www.hardkernel.com/shop/emmc-module-reader-board-for-os-upgrade/
You might want this eMMC Writer we have made that can read/write via the native eMMC 8bit interface.
https://www.hardkernel.com/shop/usb3-0-emmc-module-writer-2//
Micron 128GB eMMC module
A new 128GB eMMC module uses the Micron 128GB eMMC 5.1 chipset.
The Micron eMMC chipset doesn't support the legacy 4bit interface mode and you can't use it with the original eMMC-to-MicroSD adapter (reader board).
Therefore, you need this specific eMMC WRITER to flash the Micron eMMC via native eMMC 8bit interface mode.
You might want this eMMC Writer we have made that can read/write via the native eMMC 8bit interface.
https://www.hardkernel.com/shop/usb3-0-emmc-module-writer/
Orange eMMC module
The Orange eMMC module uses Samsung eMMC 5.1 chipset. We started to ship it from October 2017.
It works with C1/C2/C4/XU4/H2/N2/M1 series with a proper OS. The latest official OS images all work fine.
Orange eMMC module schematics : eMMC PCB Rev 0.4
The Orange eMMC Module Rev0.5 has been shipped since January 2020.
The Orange eMMC PCB Rev0.4 and Rev0.5 have the same schematics.
However, we modified it to reduce PCB defects by increasing the cleanrance between PCB patterns.
If you want to use the Orange eMMC with XU4 platforms stably, the Kernel version must be higher than 4.9.58 or 4.14.6.
Orange eMMC compatibility status with XU4 series OS images
OS image | Image file information | Status |
---|---|---|
Ubuntu 18.04 Mate | ubuntu-18.04-4.14-mate-odroid-xu4-20180501.img | OK |
Ubuntu 18.04 Minimal | ubuntu-18.04-4.14-minimal-odroid-xu4-20180531.img | OK |
Ubuntu 16.04 Mate | ubuntu-16.04.3-4.14-mate-odroid-xu4-20171212.img | OK |
Ubuntu 16.04 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 | Untested | |
Kali-Linux | Kali 2018.2 | OK |
Arch-Linux | Untested | |
ROS | 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 |
RetroPie | ORA(Odroid Retro Arena) 1.5x | OK |
How to distinguish the Sandisk eMMC ver 5.1 from the 5.0
The eMMCs from Sandisk will be version up to 5.1 with slightly faster data transfer speed starting from 20th of July 2017.
As shown in the figure below, the QR code is on the left side of the ver5.1 chipset while eMMC ver 5.0 has it on the right side.
Old Kernel 3.10 should have this patch to make it work with XU4 series properly.
Github
Github
Github
eMMC modules for year 2016~2019
The Black eMMC modules work with only ODROID-C0/C1/C1+/C2/C4/H2/N2. It is not compatible with XU/XU3/XU4/U2/U3/X/X2.
Other Blue/Red/Orange eMMC modules work with all ODROID boards.
eMMC modules for old products
Compatibility with USB3.0 to eMMC Reader
It is not related to their version or capacity but color.
Listed all kind of eMMC are compatible with USB3.0 to eMMC Reader.
This black PCB based eMMC module is NOT compatible with USB3.0 to eMMC Reader.
Reference
eMMC Module & eMMC Reader Schematics
Download old eMMC module Revison 0.3 schematics
Download Orange 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
eMMC connector specification
The connector is made by LS-Mtron Korea.
On the eMMC module, we've used the GB042-34S-H10 (Socket-34pin).
On the host board, we've used the GB042-34P-H10 (Plug-34pin).
Information about Sandisk eMMC (iDisk Extreme)
Information about Samsung eMMC
Information about Essencore eMMC (This 8GB eMMC was used for XU4 long time ago)
Information about Toshiba eMMC
eMMC Read/Write test on ODROID-C4
ODROID-C4 + Orange eMMC Performance Test of File I/O
Test condition
OS : ubuntu 20.04
kernel version : Linux odroid 4.9.218-25
Test tool : iozone revision 3.489
iozone install & performance test
- target
$ 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
Samsung eMMC v5.1
/* 8G */ random random kB reclen write rewrite read reread read write 102400 4 32835 39198 30593 30638 30064 37580 102400 16 55605 55864 77602 77210 77025 55587 102400 512 56324 56335 167658 167931 155491 55992 102400 1024 56388 56402 168213 168464 156691 56366 102400 16384 56307 56508 170166 170325 169964 56772 /* 16G */ random random kB reclen write rewrite read reread read write 102400 4 34479 40603 30540 30163 30095 37737 102400 16 54340 54432 77096 77102 76993 53930 102400 512 54444 54501 166421 166753 151607 54232 102400 1024 54343 54479 167804 168047 158466 54213 102400 16384 54346 54524 170215 170685 170251 54439 /* 32G */ random random kB reclen write rewrite read reread read write 102400 4 34659 40006 30456 30653 30585 40189 102400 16 81093 89477 77379 77343 77078 88657 102400 512 111766 112174 167889 168013 153708 112190 102400 1024 112247 112418 168818 169020 157981 112252 102400 16384 111973 111996 170058 170593 170312 112344 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 32720 39823 30021 30005 29905 39021 102400 16 77273 83613 75869 76174 75637 82888 102400 512 138202 136923 161642 162313 149562 138764 102400 1024 137274 138298 163043 163388 152816 138989 102400 16384 148874 148710 167319 167598 167464 149640 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 28836 33497 27364 27063 26278 29271 102400 16 72122 77892 70063 70047 69312 77770 102400 512 137289 136301 165930 166323 149172 136535 102400 1024 137023 135748 166734 166979 153839 136675 102400 16384 140365 139800 167435 168381 167079 141673
Micron eMMC v5.1
/* 128G */ random random kB reclen write rewrite read reread read write 102400 4 33584 40215 51154 51199 23919 39794 102400 16 80918 90055 108995 109129 36437 88810 102400 512 146965 150420 169497 169657 142405 147800 102400 1024 149453 150958 170611 170811 155329 148850 102400 16384 151633 153443 172487 172802 171909 151536
Kingston eMMC v5.1
/* 32G */ random random kB reclen write rewrite read reread read write 102400 4 33499 39214 29557 26563 26518 38483 102400 16 73302 79872 58255 55327 50313 79033 102400 512 125537 126293 159396 155847 135211 124753 102400 1024 128047 131522 162144 158665 148982 129675 102400 16384 142979 143819 167963 164524 164166 143706 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 32278 37995 34007 30566 27503 39874 102400 16 77734 85481 63120 59560 54822 84799 102400 512 130740 134064 159775 158516 143590 133448 102400 1024 139269 138432 162351 162441 154119 140247 102400 16384 150996 150280 167234 167523 167148 151845 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 33622 40040 51308 51370 28990 39711 102400 16 81102 90909 109770 110064 44338 89445 102400 512 143862 146391 169909 170235 153661 144544 102400 1024 146351 146557 171018 171335 163848 145926 102400 16384 147127 149564 173078 173382 172763 147816 /* 256G */ random random kB reclen write rewrite read reread read write 102400 4 35343 41892 53301 53512 29539 41368 102400 16 82616 89965 109957 110096 45359 88753 102400 512 139487 145019 170448 170577 156325 143786 102400 1024 143326 147521 171274 171498 163135 143271 102400 16384 146234 141246 172988 173438 172876 147867
eMMC Read/Write test on ODROID-N2/N2Plus
ODROID-N2Plus + Orange eMMC Performance Test of File I/O
Test condition
OS : ubuntu 20.04 minimal
kernel version : Linux odroid 4.9.230-88
Test tool : iozone revision 3.489
iozone install & performance test
- target
$ 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
Samsung eMMC v5.1
/* 8G */ random random kB reclen write rewrite read reread read write 102400 4 37518 44227 33183 33089 33049 46391 102400 16 56351 56539 80518 80424 80258 56310 102400 512 56655 56766 160631 161022 148955 56375 102400 1024 56627 56751 161111 161364 150157 56585 102400 16384 56471 56684 163643 163909 163668 56274 /* 16G */ random random kB reclen write rewrite read reread read write 102400 4 38035 44223 33210 33195 32748 43092 102400 16 54323 54679 80294 80418 80284 54355 102400 512 54737 54791 159582 159578 145576 54473 102400 1024 54801 54726 159838 160316 149142 54484 102400 16384 54651 54767 163614 163968 163703 54684 /* 32G */ random kB reclen write rewrite read reread read write 102400 4 39049 44400 32450 32448 32287 43891 102400 16 83239 92206 78486 78843 78234 90928 102400 512 111459 111460 161389 161604 148190 111381 102400 1024 111436 111550 162192 162440 152001 111355 102400 16384 111336 111311 163861 164100 163658 111236 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 37627 44375 32477 32488 32597 45050 102400 16 83902 94060 78950 78706 78827 93485 102400 512 149500 151792 161603 161924 148691 153336 102400 1024 152307 152700 162246 162556 152416 153682 102400 16384 155768 154567 163946 164153 163931 156139 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 30385 33826 27532 27596 27405 32611 102400 16 78443 86788 72825 72707 71967 86350 102400 512 138058 138790 160191 160835 141309 138554 102400 1024 140770 141342 160935 161193 146787 142336 102400 16384 142275 141434 163060 163184 162785 145041
Micron eMMC v5.1
/* 128G */ random random kB reclen write rewrite read reread read write 102400 4 38240 44133 53719 52943 25436 44345 102400 16 88212 96926 113783 114007 36505 96138 102400 512 148050 150385 163130 163342 136156 148508 102400 1024 149211 151129 163721 163949 151700 148553 102400 16384 153910 153899 166749 167014 166324 152890
Kingston eMMC v5.1
/* 32G */ random random kB reclen write rewrite read reread read write 102400 4 33675 37850 29913 26874 26944 38551 102400 16 78886 87606 58931 56032 50331 84679 102400 512 138449 142123 158449 155095 134292 135856 102400 1024 140674 141172 160065 156586 147072 137302 102400 16384 142514 143227 162002 158654 158130 142928 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 34965 41055 35466 31419 28407 43139 102400 16 83070 94327 65219 61588 56948 93766 102400 512 146947 150413 156439 158819 143337 148538 102400 1024 148779 149973 159754 159896 152491 151143 102400 16384 150929 151739 161511 161777 161433 153665 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 37671 46277 56919 57037 32146 43280 102400 16 80835 91312 112741 112976 46705 92198 102400 512 130581 131476 159061 159155 145623 127750 102400 1024 133857 137538 160437 160596 153578 134203 102400 16384 147215 147702 166812 166948 166501 147470 /* 256G */ random random kB reclen write rewrite read reread read write 102400 4 37214 44290 56372 54960 30135 40862 102400 16 79444 86377 104849 105027 44122 85813 102400 512 126402 131088 157322 157489 145196 129783 102400 1024 131284 131438 157716 157956 152170 129575 102400 16384 148843 147986 166830 166951 166351 147346
eMMC Read/Write test on ODROID-M1
ODROID-M1 + Orange eMMC Performance Test of File I/O
Test condition
OS : ubuntu 20.04.5 LTS
kernel version : 4.19.219-odroid-arm64
Test tool : iozone revision 3.489
iozone install & performance test
- target
$ 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
Samsung eMMC v5.1
/* 8G */ random random kB reclen write rewrite read reread read write 102400 4 12781 14724 27185 27196 26994 15087 102400 16 39546 44489 65722 64090 63876 43310 102400 512 54796 55694 142812 142812 139994 55361 102400 1024 53200 53829 152548 153155 149090 53484 102400 16384 55365 55533 168597 168597 168657 55558 /* 16G */ random random kB reclen write rewrite read reread read write 102400 4 12511 14866 27384 27378 27097 14888 102400 16 39683 44396 69166 68928 68758 44284 102400 512 54457 54683 166031 166403 162883 54289 102400 1024 54748 54757 168311 168813 164991 54533 102400 16384 54490 54535 171904 172295 171928 54475 /* 32G */ random random kB reclen write rewrite read reread read write 102400 4 11688 13934 22917 22941 22492 13767 102400 16 37928 42574 61203 61250 60694 39506 102400 512 129207 131694 160140 156886 151860 133913 102400 1024 114330 119817 153728 162792 154863 133347 102400 16384 135599 134033 161777 166293 162166 136565 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 12581 15031 27424 27444 27360 15175 102400 16 40424 45807 66086 69139 69742 45549 102400 512 145118 146547 165990 166719 163334 146866 102400 1024 147290 148161 168163 168813 164621 148442 102400 16384 150467 150748 171864 172218 172210 150434 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 12455 14532 23625 23727 23693 14266 102400 16 39370 43703 64408 64145 64474 41431 102400 512 134825 136966 163891 164631 160786 136636 102400 1024 136700 138199 166730 167139 163357 137507 102400 16384 139529 138618 168881 169709 170494 138767
Kingston eMMC v5.1
/* 32G */ random random kB reclen write rewrite read reread read write 102400 4 12827 15294 26729 23937 23819 15131 102400 16 38869 43866 49198 49047 46194 43633 102400 512 131408 134415 166711 166146 152235 131249 102400 1024 131413 134780 169308 168776 154753 132851 102400 16384 136694 137721 173302 172761 172059 136574 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 12761 15030 31094 27549 24529 15138 102400 16 40143 44790 56516 53963 48802 44233 102400 512 140701 143524 166189 165234 157067 143421 102400 1024 142326 144598 168329 167424 158990 143770 102400 16384 146664 147160 171947 172381 171705 147012 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 12861 15450 44637 44628 26412 15268 102400 16 38990 44013 93566 93756 42981 43585 102400 512 136507 137121 167479 167817 162001 135979 102400 1024 133648 138500 170097 170526 163593 138287 102400 16384 141362 142644 173823 174237 173824 143183 /* 256G */ random random kB reclen write rewrite read reread read write 102400 4 13082 15381 44688 44660 26430 15264 102400 16 40221 45389 97250 97448 43249 45281 102400 512 136241 138718 166644 166948 160342 137122 102400 1024 138889 140111 169056 169614 163135 134994 102400 16384 143255 142462 173167 173681 173050 142114
eMMC Read/Write test on ODROID-C2
eMMC Modules
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 |
Note 1: Write/Read 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 condition
ubuntu 16.04
kernel version : Linux odroid64 3.14.79-115
Test tool : iozone revision 3.429
iozone install & performance test
- target
$ 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 134002
Note 2:
Black eMMC module is made with Samsung eMMC chipset.
Red/Blue(normal) eMMC module is made with Sandisk or Toshiba or AIO chipset.
C1/C0/C1+/C2 works with Black and Red eMMC modules.
XU4/XU3/U3/X2/U2 do NOT work with Black eMMC module.
Micron eMMC v5.1
/* 128G */ random random kB reclen write rewrite read reread read write 102400 4 32874 36867 50214 50341 25392 36501 102400 16 74732 79623 107393 107390 36511 79352 102400 512 135281 137200 164775 164973 139135 133858 102400 1024 135909 137954 165426 165360 149826 132427 102400 16384 141450 142561 169225 169295 168458 137902
Kingston eMMC v5.1
/* 32G */ random random kB reclen write rewrite read reread read write 102400 4 31773 35594 28970 28975 28194 35193 102400 16 74099 81195 81017 81017 54209 74104 102400 512 124345 128423 159007 158716 131953 122613 102400 1024 124830 130742 160064 160086 137279 125592 102400 16384 132372 136467 164411 164750 163113 133211 /* 64G */ random random kB reclen write rewrite read reread read write 102400 4 33524 37231 34295 34152 30185 36985 102400 16 78771 83978 77718 77885 57565 79458 102400 512 135834 137782 155622 155641 132819 132577 102400 1024 135879 135265 156631 156588 137693 131499 102400 16384 142370 142884 160526 160649 159443 137578 /* 128G */ random random kB reclen write rewrite read reread read write 102400 4 31062 34176 48180 48353 26918 34223 102400 16 70050 74981 101402 103518 39782 73712 102400 512 120868 122795 160083 154529 144161 121567 102400 1024 122158 123736 161075 155506 150165 123052 102400 16384 130579 127729 165457 165434 164230 129500 /* 256G */ random random kB reclen write rewrite read reread read write 102400 4 32701 37377 53711 52818 29092 35576 102400 16 72568 77136 104471 104206 44905 76810 102400 512 127924 125988 164116 164219 148316 129120 102400 1024 129910 130725 164955 164970 158150 129831 102400 16384 135255 135654 169691 169697 169012 136947
New 8GB eMMC test on XU4 Ubuntu
New 8GB eMMC Red PCB for 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
16GB eMMC Black PCB
16GB UHS-1 SDHC Card (Sandisk SDSDQAD-016G UHS-I 50 OEM model)
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, go here to recover: How to recover the eMMC boot loader.
* eMMC must be partitioned like so;
—FAT16 partition with UUID 6E35-5356 (boot)
—EXT4 partition with UUID e139ce78-9841-40fe-8823-96a304a09859 (linux)
* Copy contents from Ubuntu image partitions to the boot and linux partitions using “cp -afpv source destination”
* Insert eMMC and boot normally.