Optimizing e.MMC Memory

By Justin Hunter - 2016-12-20

eMMCOptimizing e.MMC Memory

Managed NAND devices, like e.MMC, provide not only industry standard features and characteristics but also detailed proprietary features. Though designed to be as drop-in ready as possible, many advantages are often under-utilized. With a little investment in software design, improvements can be made to: 

  • Optimize data throughput
  • Improve data reliability
  • Increase life span

Optimize Data Throughput

Managed NAND is a system, so aligning system behavior to many e.MMC register setting values results in increased performance.  Some useful values include:

  • Optimal Write/Read Sizes (generally between 4KB and 32KB) – Good for data transfer “chunk” size and file system block size
  • NAND page access size or “ACC size” (generally between 32KB – 512KB) – Good for data file/packet size
  • High Capacity Write Protect/Erase (generally between 512KB – 16MB)– Best size for file system partitions and boot code size
  • Life estimate and EOL
  • Though not always defined in register settings, characterized timing parameters are valuable (especially u-boot)

Improve Data Reliability

Careful considerations should be given to data removal mechanisms.  For example, file system data removal functions may be convenient for system maintenance but can significantly—and often unnecessarily—increase NAND block erase counts which adversely affect life span.  In addition operational nomenclature differences between host and e.MMC may result in decreased performance and endurance

  • Use register settings in software to streamline managed NAND behavior
  • Sequential writes are best for faster throughput and less “defragmentation” maintenance
  • File systems can complicate e.MMC functions and increase wear on the NAND
  • Data transfers not aligned to NAND architecture and file system partitions result in extra performance overhead and wear on NAND
  • Additional built-in partitions separate from the user area in SLC mode provide increased reliability for critical data

Increase Life Span

Standard JEDEC® health monitoring is useful and applicable to all e.MMC. Vendors specific especially vendor proprietary functions often augment health monitoring capabilities and should be incorporating specialized monitoring into design as early as possible.

Implementing manual Background Operations for preventative maintenance is immeasurably useful.  Enabling a regular manual e.MMC background operations (BKOPS) regimen has many advantages:

  • Maintains optimal performance
  • Refreshes weak data
  • Reduction in data removal needs
  • Interruptible and resume-able

To find out more about Micron’s e.MMC offerings, click here.

Amit Gattani

Justin Hunter