eMMC power fail integrity

On our Colibri T30 based system I sometimes observe that the root file system gets mounted in read-only after a hard power-off (power loss).

This is not astonishing in itself but I would like to harden our system to survive as often as possible a sudden power loss. We are applying standard Linux counter-measures (read-only file system, journalized ext3/4 file system,…) but are also looking at more low-level alternatives possibly offered by the hardware.

In an online article “Preventing Filesystem Corruption in Embedded Linux” I read about possible hardware support by the eMMC chip itself (“pseudo-SLC mode” and “Write Reliability” in section Use eMMC in Data Reliability Mode.

  • Do your eMMC chip on Colibri T30
    support these or similar features ?
  • Are they available/activable in Linux
    drivers or configuration tools ?
  • Do you have any additional
    recommendations for a
    scheme/configuration you found
    reliable on other systems ?

Thansk in advance for your support and help,
Romain

Hi Romain

On our Colibri T30 based system I sometimes observe that the root file system gets mounted in read-only after a hard power-off (power loss).

This is not astonishing in itself but I would like to harden our system to survive as often as possible a sudden power loss. We are applying standard Linux counter-measures (read-only file system, journalized ext3/4 file system,…) but are also looking at more low-level alternatives possibly offered by the hardware.

In an online article “Preventing Filesystem Corruption in Embedded Linux” I read about possible hardware support by the eMMC chip itself (“pseudo-SLC mode” and “Write Reliability” in section Use eMMC in Data Reliability Mode.

Do your eMMC chip on Colibri T30 support these or similar features ?

As far as I know our current Colibri T30 modules are shipping with SK Hynix eMMC parts which support version 4.5 of the MMCA meaning they supports both reliable write as well as enhanced storage media features the later being commonly known as pseudo SLC aka pSCL mode. Please note however that the existence and implementation detail of the later is entirely up to each eMMC manufacturer.

Are they available/activatable in Linux drivers or configuration tools ?

At least certain aspects thereof can be configured either using U-Boot’s mmc partconf or Linux’s mmc-utils package (optionally buildable from the openembedded-core layer). Please keep in mind that any such configuration is on a one time basis only and can not be changed or revoked again.

Do you have any additional recommendations for a scheme/configuration you found reliable on other systems ?

Using a read-only root file system resp. initrd is definitely a smart choice if robustness is required.

Thansk in advance for your support and help, Romain

You are very welcome.

Cheers

Marcel

Platform Manager Embedded Linux