After some investigation, here is info I gathered, see below. What do you guys think? So far, I could not find any CRC information that I can use. So here is the data I can probably use to determine the “health” of the devices.
For the NVMe, I can use the following commands:
o smartctl -x /dev/nvme0 | grep overall-health
to get an overall health test result. Here is an example output:
SMART overall-health self-assessment test result: PASSED
o smartctl -x /dev/nvme0 | grep “Critical Warning”
to monitor any warnings: Here is an example output:
Critical Warning: 0x00
For the eMMC, there is a tool called “mmc” to get the current stats for the eMMC.
for example:
*. mmc extcsd read /dev/mmcblk0 | egrep “LIFE|EOL”
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
and this is the definitions I gathered:
Device Life Time Estimation Type A:
Health Status in Increments of 10 %
Refers to pSLC Blocks in our eMMC
Device Life Time Estimation Type B:
Health Status in Increments of 10 %
Refers to MLC Blocks in our eMMC
Pre-EOL Information:
Normal: Up to 80 % of Reserved Blocks Consumed
Warning: More than 80 % Consumed
Urgent: More than 90 % Consumed