eMMC

Traditionally, most embedded systems would be equipped with either NOR or NAND flash, and a flash filesystem would be used to manage those chips and implement wear- leveling. More recently, however, the trend has been toward using embedded Multi-MeidaCard(eMMC) chips. Essecientially, these are chips that appear as SD cards and are managed by the Linux kernel as a traditional block device. Their SoC chips have the required modules to do basic reads and boot directly from a partition on the eMMC. 


eMMC versus NOR or NAND Flash

 Linux’s MTD layer is used to manage, manipulate, and access flash devices in Linux; this includes NOR and NAND flash. Various filesystems are then used on top of the MTD layer, such as JFFS2, UBIFS, or YAFFS2, to make the flash device or partition accessable as part of Linux's virtual filesystem switch(VFS). Those flash filesystems (JFFS, YAFFS, UBIFS) typically implement wear leveling and bad-block management to properly handle the underlying flash devices.


An eMMC device,  appears as a traditional block device. 
Essentially, it contains a microcontroller and some RAM that allow it to do the required wear leveling and bad-block management transparently. Therefore, the OS can use a regular disk filesystem such as ext4. 
While the decision to move toward eMMC is motivated by reduced pin-count on the PCB—and therefore overall cost—there are some additional side benefits to using this type of device.

First, it allows you to use all the traditional commands and methods you’re used to with a regular Linux filesystem. The MTD subsystem, while powerful, has always required some getting used to before one could effectively use it. Also, flash filesystems tend to be designed with single-processor systems in mind, while disk filesystems in Linux have had to contend with multiprocessor systems for quite some time. Hence, they’re likely a better fit for the coming wave of multicore Android devices.



Linux supports e·MMC devices and allows their integration within its subsystems. While Linux does not support all e·MMC features introduced by the JEDEC standard.





留言

熱門文章