Forum Discussion

KianHinT_altera's avatar
KianHinT_altera
Icon for Frequent Contributor rankFrequent Contributor
3 hours ago
Solved

[Test only]Cyclone V emmc speed

Cyclone V emmc speed Hi, For Cyclone V I have 2 questions as below 1) Use eMMC ( v4.5 HS-200) but read/write throughput only Write 25MB / Read 45M /s . What's the limitation ?   2) What eMM...
  • KianHinT_altera's avatar
    3 hours ago

    1. Limitations with eMMC v4.5 HS-200

    Your eMMC v4.5 chip supports the HS200 standard (which utilizes a 200 MHz clock to achieve up to 200 MB/s), but the Cyclone V controller physically cannot operate at those speeds due to three hard limitations:

    Maximum Clock Speed: The controller's interface output clock (SDMMC_CLK_OUT) caps out at 50 MHz in high-speed mode (a minimum clock period of 20 ns).

    Single Data Rate (SDR) Only: The SD/MMC controller only supports SDR mode. It lacks hardware support for Dual Data Rate (DDR) transfers, meaning it can only transfer data on one edge of the clock cycle.

    Controller Standard: The HPS SD/MMC controller is based on the Synopsys DesignWare Mobile Storage Host, which was designed before the HS200 mode existed. It does not have the hardware circuitry to support JEDEC eMMC v4.5 or v5.0 high-speed modes.

    Because of these factors, your eMMC v4.5 chip is automatically falling back to legacy backward-compatibility modes to communicate with the Cyclone V. The speeds you are currently getting (45 MB/s Read, 25 MB/s Write) mean your system is actually optimally tuned — you are successfully hitting the practical ceiling of the silicon's capabilities.

    2. Supported eMMC Specs and Maximum Throughput

    Supported Specification: The Cyclone V SoC officially supports up to eMMC version 4.41. Newer eMMC chips (like your v4.5 or v5.0 modules) are widely used and supported, but they will operate strictly within 4.41 constraints.

    Bus Width: The controller supports 1-bit, 4-bit, and 8-bit data widths.

    Theoretical Maximum Throughput: 50 MB/s. This is calculated using the absolute maximums of the controller: a 50 MHz clock speed multiplied by 1 byte per clock cycle (using an 8-bit bus in SDR mode).

    Practical Maximum Throughput: Factoring in normal protocol overhead and filesystem operations (like ext4), real-world read speeds typically max out right around 40 to 45 MB/s. Write speeds are inherently slower due to the flash memory's page erase cycles and wear-leveling algorithms, making 20 to 25 MB/s the expected maximum.