eMMCs are everywhere! If your product is constantly reading or writing data that is small in size but large in quantity, eMMC can be a great embedded file storage solution.
The term eMMC is short for “embedded Multi-Media Card”, an embedded memory standard defined by the MMC Association, primarily for smartphones and tablets.
eMMC, to put it in simple words, is an embedded storage solution that integrates a controller in addition to the conventional memory and provides a unified standard interface.
eMMC consists of at least three components: MMC interface, NAND Flash, and FLASH controller.
The structure diagram shows the key signal lines of an eMMC:
8-bit data line DAT[7:0], 1 clock line CLK, 1 reset signal, and 1 command CMD. The control of mass storage devices is completed with minimum wiring, which greatly reduces the difficulty of hardware design.
The structure diagram also shows the definition of the Control Register.
The eMMC standardizes some basic commands to allow convenient operations of the registers and other related functions of the eMMC.
There are 4 types of commands, namely:
Command | Description |
bc | Broadcast command without response |
bcr | Broadcast command with response |
ac | Point-to-point command without data transfer |
adtc | Point-to-point command with data transfer |
The 48-bit commands are divided into 12 categories. There are also some basic commands, such as CMD4 for setting the status register DSR and CMD12 for controlling the eMMC stop transmit.
Sandisk eMMC's at same capacities perform at least 3.3x better for reading and 2.4x faster for writing operations.
R/W speed is vital for FLASH. eMMC FLASH has a range of different transfer modes (transfer speeds). We can see that the total bus width can be configured and selected. If the bus width is not configured in ECSD, it will be polled at 8 bits, 4 bits, and 1 bit. The speed mode of the bus starts at the legacy mode with power on and then polls from the high speed of HS400 to the low HS200. As long as the most basic driver configuration of eMMC is completed, the device is available for use. This can greatly reduce the workload of the driver and the subsequent compatibility issues. We advise new designs to follow the HS400 standard for its higher R/W speeds.
After a brief look at the number of wires, registers, and commands, we may find many advantages of eMMC.
As the upgrade of the Nand Flash manufacturing process continues, the Flash Controller and FTL of the main control also need to be constantly updated to support the new Nand Flash. The eMMC packages the Flash Controller and Nand Flash together, shielding the differences due to the Nand Flash process, and the controller and driver of the master control are supported without much modification.
Simple wiring, convenient control, and automatic polling configuration help to avoid too much-related management on the flash by the master control.
What are your experiences with developing boards with eMMC storage? Did you face any problems with development? Let us know in the comments!