5
\$\begingroup\$

I came across this new technology for storage and I am still a bit confused.

  • What are the basic differences between MMC and eMMC storage?
  • If a microcontroller is marketed as supporting SD/MMC, can I consider them as compatible with eMMC as well?
  • Where can I find examples code and/or the communication protocol to access eMMC memory?

What am I missing?

Thanks!

\$\endgroup\$
1
4
\$\begingroup\$

What are the basic differences between MMC and eMMC storage?

In short, there is no fundamental difference. Modern MMC is eMMC molded into plasic case. Or eMMC is a naked BGA chip soldered on-board. "e" simply means "embedded". Support for optional modes changes with revision of specifications, 1.0, 2.0, 3.x, 4.x, now at 5.2, with ever increasing transfer speeds.

In older days the MMC plastic was made of two chips inside, MMC interface controller, and a parallel flash. Today the controller (MMC-to-flash) is integrated into single chip.

Where can I find examples code and/or the communication protocol to access eMMC memory?

Regarding the communication protocol, MMC is an open standard. But you don't need to study the low-level bus protocol, since the application will be accessing the interface via MMC/SD host controller inside the SoC/MCU. You will still likely need to follow all discovery protocols in accord with corresponding sequencing/initialization. Typical controller architecture (register access etc.) can be found in this stand-alone chip example SDIO101A from NXP. MCU provider will likely supply examples of driver.

\$\endgroup\$
3
\$\begingroup\$

There are two differences between MMC and eMMC:

  1. eMMC is a solderable BGA, where MMC (and SD etc.) are plug-in cards.

  2. The optional SPI 1 wire operational mode in is not supported.

Actual operation using a standard MMC / SD interface should be identical to MMC provided the device is properly soldered.

eMMC is popular in high reliability applications such as avionics because card type memories suffer from connector issues (the card can fall out under vibration).

The physical layer standard is at JEDEC

\$\endgroup\$
1
  • 2
    \$\begingroup\$ SPI mode was actually removed in version 4.3 of the standard (released in 2007), so not all MMC cards support it. Also, the latest versions of the eMMC standard support DDR transfers and clock frequencies up to 200MHz, whereas MMC cards support a max clock of 56MHz. I'd also add that eMMC is used in almost every smartphone/tablet on the market. \$\endgroup\$
    – ks0ze
    Nov 15 '16 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.