e·MMC stands for embedded Multi Media Card. It is basically same as MMC(which is a removable card) but the eMMC architecture puts the MMC components (flash memory plus controller) into a small ball grid array (BGA) IC package for use in circuit boards as an embedded non-volatile memory system.
e·MMC inter-connected and communicates with its host using SD/MMC protocol while MMC still using SPI-bus protocol.
e·MMC describes an architecture consisting of an embedded storage solution with MMC interface, flash memory and controller.In one line it is a flash/nand over MMC interface. Typically, flash memory is controlled by a dedicated controller that supervises data reads and writes, and operates under the control of the application's CPU.
eMMC is a standard for embedded memory devices that contain not only a data storage element (such as NAND flash memory), but also a controller for the storage element integrated on the same silicon die. This results in several advantages, such as reduced development time and easier integration of the memory block in the overall system. Ultimately, this leads to a much shorter time-to-market for the end product.
e·MMC embedded memory essentially transforms a program/erase/read device like NAND Flash into a simple write/read memory. This managed interface addresses potential NAND design concerns internally, using error correction code (ECC), wear leveling, and bad block management technology. Handling errors internally takes the burden off the host controller and increases speed, providing higher system performance.Managed NANDs are RAW NANDs combined with a memory controller and can support popular interfaces such as MMC (eMMC, moviNAND), SD (eSD) and SPI. The memory controller hides the details of the NAND and provides the intended interface and ECC support. This means that a eMMC/eSD NAND can talk to a embedded TI device through MMC/SD controller.
An e-MMC system generally consists of a host controller, an e-MMC device, and a HS-MMC driver, which is software that controls the e-MMC (see below).
- The host controller has a host CPU and a HS-MMC interface. The e-MMC also has a HS-MMC interface.
- The e-MMC consists of raw MLC NAND flash memory and a controller. The controller has a HS-MMC interface which can be connected to the host controller. It also has a NAND interface which is connected to the raw MLC NAND flash memory. It has several functions such as bad block management, wear leveling and error correction code (ECC), to utilize the raw MLC NAND flash memory efficiently.
- The HS-MMC driver handles operations between the host controller and the e-MMC.
Almost all mobile phones and tablets use this form of flash for main storage. The latest version of the eMMC standard (JESD84-B51) by JEDEC is version 5.1 released February 2015, with speeds rivaling discrete SATA-based SSDs (400 MB/s).