Quote: I just learned that the eMMC still supports the serial interface of the original MMC and SD cards, and that's how the Hardkernel microSD-to-eMMC adapter works. But because of the very high reading speed of this eMMC, the timings must have been be "at the edge" with it, which leads to occasional errors. Fortunately, this occurs only on reading and not on writing when it's slower so the timings are not "at the edge" – a "blessing in disguise".
You are correct, I see it as just another type of sd-card only with a couple more pins for datatransfer. I don't think they talk SPI anymore but the protocol is pretty close. Instead of 1(SPI) 2(DPI) or 4(QPI) channels to talk data it uses up to 8 wires for datatransfer. If you bit bang these things you usually don't have any issues but if you want to get the max out of them you need to tweak your timing and the capabilities of the controller so you get less bit errors.
The big thing with these ARM's is the clock tree; to get stuff at a specific frequency you may have to switch more clocks and dividers then you like and end up messing up the timing for some other components (USB, etc).
Just take a quick look at the 'Clock Tree' of the Allwinner datasheet for instance and you will understand.
Also for eMMC to go 'fast' the driver needs to calibrate the delay chain so if the driver fails to do that or doesn't do it correctly the timing will be wrong and neither the device or card will be a happy camper and most likely start yelling at you trough dmesg. :-)