TS-7180 EMMC: Difference between revisions
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 39: | Line 39: | ||
| 0x3 | | 0x3 | ||
| Urgent (>90% blocks used) | | Urgent (>90% blocks used) | ||
|} | |||
If this is below 5.0, you must use a vendor specific utility. Micron eMMC uses the [https://www.micron.com/products/managed-nand/emmc/emmc-software emmcparm] utility. Refer to Micron's TN-FC-25 for the emmcparm utility. | If this is below 5.0, you must use a vendor specific utility. Micron eMMC uses the [https://www.micron.com/products/managed-nand/emmc/emmc-software emmcparm] utility. Refer to Micron's TN-FC-25 for the emmcparm utility and related documentation. | ||
<!-- 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 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. |
Latest revision as of 10:37, 24 June 2021
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.
eMMC also provides ways to estimate the wear on the module. First, determine your eMMC chipset revision:
root@tsimx6:~# mmc extcsd read /dev/mmcblk1 | grep "CSD rev" [64446.059203] mmcblk1: p1 Extended CSD rev 1.7 (MMC 5.0)
or
root@tsimx6:~# mmc extcsd read /dev/mmcblk1 | grep "CSD rev" [64446.059203] mmcblk1: p1 Extended CSD rev 1.5 (MMC 4.41)
In eMMC revision 5.0 and above, part of the specification includes a way to estimate lifetime of the chipset. For example:
root@tsimx6:~# mmc extcsd read /dev/mmcblk1 | grep -e EXT_CSD_DEVICE_LIFE_TIME -e PRE_EOL [64618.159298] mmcblk1: p1 eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x01 eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x01 eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01
If you have reconfigured your device as SLC, use TYP_A. If you are using the default MLC setting, use TYP_B. These LIFE_TIME_EST values indicate in 10s of percent how much of the reserve blocks are still available. The 0x1 value indicates < 10%. 0x7 would indicate < 70%.
EXT_CSD_PRE_EOL_INFO can also be used as an early warning indicator.
Value | Description |
---|---|
0x1 | Normal (< 80% blocks used) |
0x2 | Warning (> 80% blocks used) |
0x3 | Urgent (>90% blocks used) |
If this is below 5.0, you must use a vendor specific utility. Micron eMMC uses the emmcparm utility. Refer to Micron's TN-FC-25 for the emmcparm utility and related documentation.