[SOLVED] eMMC power consumption

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] eMMC power consumption

    Hello,

    I am experimenting with eMMC flash (Sandisk 16GB) and comparing to a NAND flash chip (Micron 1GB).
    In both cases I am using the emFile and chips formatted as FAT fs.
    I am writing 20KB/s in 4KB chunks.
    MCU is lpc1857.

    What I find is that the current consumption of the eMMC is approx 10x the current consumption of the NAND
    for the same data throughput.

    Since I am not an expert on eMMC: Are there any "hidden" switches or low power modes for the eMMC that can be activated?

    brg
    kd
  • Followup:

    The access duration (writing 4096bytes) is approx. 40mS either with USE_OS set to 0 or 1 in file FS_MMC_CM_HW_LPC1857_KEIL_MCB1800.c.
    During those 40mS the chip is drawing 15-20mA.
    The access duration on the NAND chip on the other hand is less than 5mS current draw during those 5mS is maybe a little less than for the eMMC.

    So the main culprit for the high current consumption of the eMMC is the long time that the eMMC is accessed for.

    Acccessing the same eMMC chip with USB bridge USB2642 allows for transfer rates of approx 20MB/S which translates roughly to access times 200uS for 4KB block.
    What is the secret in FS_MMC_CM_HW_LPC1857_KEIL_MCB1800.c to get the access times from 40mS to 200uS per 4KB?

    The SD bus is running at 51Mhz.
    I have :
    FS_MMC_CM_Allow4bitMode(0, 1 );
    FS_MMC_CM_Allow8bitMode(0, 1 );
    FS_MMC_CM_AllowHighSpeedMode(0, 1 );
    I am writing into preallocated file using FS_SetEndOfFile().

    Ideas?

    brg
    kd
  • Hello Kari,

    eMMC devices use a request-response serial protocol to communicate with the host.
    There is an overhead related to exchanging data transfer that involves selecting
    the device, sending the command that starts the data access, etc. Your application
    can achieve better performance by keeping this overhead to a minimum.
    This means that the application has to transfer as much data at once as possible.
    The data to be exchanged has to be aligned to a logical sector boundary and a
    multiple of a logical sector size so that the file system can perform 0-copy operations.
    You can find more information this in the section "12.2.2 How to improve the performance"
    of the emFile manual available from here segger.com/downloads/emfile/UM02001_emFile.pdf.

    Best regards,
    Marius
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.