I have the corresponding 32 GB eMMC module from Friendly Elec and the same uSD-eMMC passive adapter.
https://www.friendlyarm.com/index.php?r ... uct_id=249
I wrote to the eMMC module the currently latest available version of Raspbian and pulled in all the updates. This eMMC setup
boots on a:
- Raspberry Pi 2 Model B Rev 1.1
- Raspberry Pi 3 Model B Rev 1.2
For some reason it does
not boot on a:
- Raspberry Pi 4 Model B Rev 1.2
- Raspberry Pi Model B Rev 2
Obviously on the oldest Raspberry Pi an uSD-SD-card adapter has to be used. There was some changes to the Raspberry Pi 4 to get it boot with a RasPiKey, but apparently this Friendly Elec eMMC-module is somehow different so that it does not boot on a Raspberry Pi 4. Maybe some expert can elaborate on the firmware difference between the original Raspberry Pi and the Pi 2 and Pi 3 in terms of booting and why it would not boot on a Raspberry Pi 4?
Would it help to write something to the internal eMMC boot partitions to get the module booting on a Raspberry Pi 4 and an original Raspberry Pi?
The performance on the Raspberry Pi 2 Model B Rev 1.1 is very good as expected and much better than on any SD-ard I have seen:
root@raspberrypi:~# hdparm -tT /dev/mmcblk0p2
/dev/mmcblk0p2:
Timing cached reads: 750 MB in 2.00 seconds = 374.38 MB/sec
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 68 MB in 3.02 seconds = 22.49 MB/sec
root@raspberrypi:~# source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;19551;38
seq-write;0;0;19645;38
rand-4k-write;0;0;13117;3279
rand-4k-read;14194;3548;0;0
Sequential write speed 19645 KB/sec (target 10000) - PASS
Random write speed 3279 IOPS (target 500) - PASS
Random read speed 3548 IOPS (target 1500) - PASS
The corresponding numbers for the Raspberry Pi 3 Model B Rev 1.2 are:
root@raspberrypi:~# hdparm -tT /dev/mmcblk0p2
/dev/mmcblk0p2:
Timing cached reads: 1134 MB in 2.00 seconds = 566.42 MB/sec
HDIO_DRIVE_CMD(identify) failed: Invalid argument
Timing buffered disk reads: 68 MB in 3.01 seconds = 22.59 MB/sec
root@raspberrypi:~# source /usr/share/agnostics/sdtest.sh
Run 1
prepare-file;0;0;19662;38
seq-write;0;0;19475;38
rand-4k-write;0;0;14033;3508
rand-4k-read;14850;3712;0;0
Sequential write speed 19475 KB/sec (target 10000) - PASS
Random write speed 3508 IOPS (target 500) - PASS
Random read speed 3712 IOPS (target 1500) - PASS
Because the (u)SD-reader is upside down on all Raspberry Pis this eMMC-module with the adapter is also upside down and thus a bit inconvenient. The RasPiKey 16 GB module has been designed for the Raspberry Pi so the orientation of the uSD-reader has been taken into account. It would be nice if the RasPiKey eMMC-uSD module would be available in larger sizes than 16 GB. According to them they might do that if there is enough customer demand ...
Both the Friendly Elec SD-eMMC adapter and the RasPiKey are a bit short and wide so they might not fit mechanically if there is too much space between the uSD-reader and the edge of the case where the uSD-card slot is. This small mechanical issue can be worked around by using a SD-extension cable.
In my laptop the eMMC module also gives a reading speed of about 20 MB/s. I guess the eMMC-module could be set into a higher frequency mode if the driver would recognize this possibility. I'm not sure why that does not happen during the module initialization process. The Samsung KLMBG2JETD-B041 eMMC 5.1 chip has a HS400 interface, so natively it can achieve good performance.