Page 1 of 1

eMMC in place of SD

Posted: Mon Jul 08, 2019 4:50 am
by chuckr2
I recently managed to perform a chip-off data recovery from a Galaxy S5 using an eMMC to SD adapter board and a suitable SD card reader. This got me thinking: could this same method be used to create reliable storage for a Raspberry Pi 3 (or 4)?

As plentiful as SD cards are, they are far from reliable. Especially consumer-grade ones. For my purposes, I care more about reliability than speed. I've had a few microSD cards fail on me (and I've seen many do so in the past) and, from what I understand, eMMC should be more reliable if not as readily available.

That said, I've seen that other SBC's such as the ODROID series are capable of using eMMC via a microSD adapter board as well. Now, as much as I'd like to just haul off and buy it to try it, I'd rather get some more information first as to the feasibility of this on a Raspberry Pi. This is due to shiping costs of having the hardware sent from South Korea (I can get some parts in the States, but I will inevitably have to order at least one part from South Korea -- and the shipping isn't exactly cheap.)

I've done some cursory reading on Raspberry Pi eMMC support via the SDIO pinout on the GPIO pins, but it's my understanding that this can only be enabled by making a permanent modification to the Raspberry Pi, which I would like to avoid. Now, I will if there's no other choice. From what I've gathered, it seem that on the Pi 3 (and perhaps Pi 4) models, the SDIO pins are shared with the WiFi module, which I assume means that if eMMC support is enabled and a card is detected on boot then it will disable the use of WiFi on the board in favor of the secondary SD card (or, in my case, eMMC module). Again, details seem to be a bit sparse here. As the Pi 3's Ethernet is tied to the USB 2.0 bus, I'd rather not take this route either if this is the case.

But there is still the tantalizing option of using the ODROID eMMC modules and microSD adapter via the regular microSD port. This seems like the easiest approach to me as it requires no permanent modification of the Pi and doesn't cause any other possible hardware conflicts that might arise using the "usual" way of adding a second SD card. But, I have a couple of questions regarding the feasibility of this on the Raspberry Pi.
  1. The ODROID eMMC modules seem to be pre-loaded with an eMMC boot block specific to the OS version the chip will be running on that board. Would this cause any conflicts with the Raspberry Pi? Or, does the Raspberry Pi care about (or would it even be able to see?) the eMMC boot block of these chips? I ask this because in my data recovery shenanigans, the way I hooked up the eMMC chip of the Galaxy S5, the Linux computer I was using to do the data recovery actually did show me the boot blocks of the eMMC chip and I wouldn't want those blocks to interfere with the Raspberry Pi boot process in some way (though I could probably just clear them in the same fashion that I hooked up the eMMC for data recovery since I know I can read and probably write them in that way).
  2. Does the Raspberry Pi use SDIO, SD, or SPI to access the default SD card? If SDIO or SD, is it run in 1-bit for 4-bit mode?

Re: eMMC in place of SD

Posted: Mon Jul 08, 2019 9:00 am
by jamesh
Not answering the question, but with the right mitigation. SD cards are very reliable, i.e. avoiding as much writing to them as possible. You can get years of life out of them with appropriate setup.

Also note that eMMC and SD flash memory are often similar technologies, so lifetimes are often similar.

Re: eMMC in place of SD

Posted: Mon Jul 08, 2019 9:59 am
by lb
SD cards and eMMC modules are quite similar. That is why these simple adapters are possible in the first place. You might be interested in industrial grade SD cards as an alternative to eMMC modules. These often use SLC flash with far higher endurance, have a higher temperature rating and they might also have better wear leveling.

That said, I haven't had any issues with good quality brand-name consumer microSD cards. They've been working on several SBCs for several years, without any issues.