Verification Central


eMMC: An Optimal Flash Memory

eMMC applications
eMMC Applications

The two fundamental requirements of every mobile device is speed and power, with the biggest challenge being that both are inversely proportional to each other. One simply cannot have both, because with higher speed comes higher power consumption. With the ever increasing demand for higher resolution graphics and media to enrich the user experience, there has been a significant addition to data processing that requires high speed data transfers. Even though the devices are capable of capturing and playing back high quality media, the storage unit is not fast enough to match the required transfer speeds.  This is an out of sync combination and one of the biggest challenges for mobile designs. The problem here is that, a memory system is required to be capable enough to perform read write operations at high speed without adding any significant numbers to power consumption.

Here comes eMMC that has been widely adopted in the mobile devices industry as integrated storage. It put a check mark in all the above mentioned boxes and provide a perfect trade off between speed and power. With high speed transfer, low power consumption, security, HPI and the latest addition in the bucket command queuing to boost the performance, eMMC has been an optimal choice for flash memory in mobile devices since the very beginning of this standard. It has been evolving to catch up with each new generation of mobile devices, and there have been several revisions. JEDEC first announced eMMC at revision 4.1 in 2007, and the latest revision is 5.1 released in 2015.

Let’s get into the technicalities of eMMC protocol and specifications. eMMC is an acronym for embedded multimedia card. It’s a combination of flash memory and controller on a single die that reduces efforts for host to handle basic memory management. With three data bus width modes 1bit, 4bit and 8bit and data transfer rate varying across the range of 26MB/s to 400MB/s, eMMC has a lot to offer for managing a flash. We will discuss about some of the key features here:

  • Bus speed modes: Default speed(26MB/s), High speed SDR(52MB/s), High speed DDR(104MB/s), HS200(200MB/s) and HS400(400MB/s).
  • Partitioning: Boot area partition for booting purpose, RPMB partition for storing data to the specific memory in an authenticated and replay protected manner and general purpose user data area partition to store data.
  • High Priority Interrupt: To service a high priority requests by suppressing any ongoing low priority operation.
  • Erase: To erase the mapped address range of memory by overwriting it with all 0 or all 1.
  • Packed Commands: To reduce overheads by packing several multiple block read or write commands.
  • Sleep: Power consumption of the memory device is least in this state.
  • Command Queuing: To enhance the performance by scheduling the data transfer commands.
  • Password Protection: To protect the data on the device by locking it with a password. A locked device restricts the host to access its data.
  • Sanitize erase: To erase the data by overwriting the written data and then clearing it for an added data security.
Synopsys eMMC VIP

Overall eMMC is a cost effective, power efficient and high performance flash solution for mobile devices. Synopsys provides native SystemVerilog UVM VIP and source code test suite for comprehensive protocol testing and coverage of eMMC host and card.

Authored by Deepak Nagaria

To know more about our VIPs and test suites, please visit

Recent Memory Blogs