This board includes a Micron eMMC module. Our off-the-shelf builds are 4GiB, but up to 64GiB are available for larger builds. The eMMC flash appears to Linux as an SD card at /dev/mmcblk1. Our default programming will include one partition programmed with our Debian image.
The eMMC module has a similar concern by default to SD cards in that they should not be powered down during a write/erase cycle. However, this eMMC module includes support for setting a fuse for a "Write Reliability" mode, and a "psuedo SLC" mode. With both of these enabled then any writes will be atomic to 512B. If a sector is being written during a power loss, a block is guaranteed to have either the old or new data. Even in cases where the wrong data is present on the next boot, fsck is able to deal with the older data being present in a 512B block. The downsides to setting these modes are that it will about halve the size of the eMMC module to 1.759Gib by default, and write speed will be slightly slower.
The mmc-utils package is used to enable these modes.
|WARNING:||If you are using a custom built TS-7180 with an eMMC sized larger than 4GB, contact us before using these commands. The SLC partition will be specified different on larger disks.|
mmc write_reliability set -n 0 /dev/mmcblk1 mmc enh_area set -y 0 1847296 /dev/mmcblk1
|WARNING:||Setting either of those modes is permanent and using the wrong value it is possible to essentially brick eMMC which will not be covered by the warranty. Evaluation units with fuses set will not be accepted through returns.|
After this is run, reboot the board. On all future boots the eMMC will be detected at the smaller size.