BBB not booting from the eMMc possibly caused by power outage

Hi all,

Several BeagleBone Blacks used on field are not longer booting from eMMc after approx. two years of usage. First observations are that this happened after the power outage.

These are logs I get:

Starting kernel ...
[ 0.002243] timer_probe: no matching timers found
[ 0.211605] l4_wkup_cm:clk:0010:0: failed to disable
[ 1.113465] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.120034] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.127063] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.133168] tilcdc 4830e000.lcdc: no encoders/connectors found
[ 1.501414] omap_voltage_late_init: Voltage driver support not added
[ 1.595751] tpm tpm0: tpm_try_transmit: send(): error -121
[ 1.601334] tpm tpm0: A TPM error (-121) occurred attempting to determine the timeouts
[ 1.611415] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.617859] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.624522] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.630629] tilcdc 4830e000.lcdc: no encoders/connectors found
[ 1.644114] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.650568] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.657245] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.663280] tilcdc 4830e000.lcdc: no encoders/connectors found
[ 1.670347] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.676752] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.683346] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 1.689488] tilcdc 4830e000.lcdc: no encoders/connectors found
[ 5.548474] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 5.560046] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 5.576483] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 5.587764] tilcdc 4830e000.lcdc: no encoders/connectors found
[ 5.624949] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 5.636065] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 5.652623] OF: graph: no port node found in /ocp/lcdc@4830e000
[ 5.663754] tilcdc 4830e000.lcdc: no encoders/connectors found
rootfs: recovering journal
rootfs: clean, 61585/231536 files, 602244/924672 blocks
[ 26.019622] omap_hsmmc 481d8000.mmc: Card stuck in wrong state! card_busy_detect status: 0xe40
[ 26.124590] mmc1: cache flush error -110
[ 27.439759] mmcblk1: recovery failed!
[ 27.443479] print_req_error: I/O error, dev mmcblk1, sector 8200
[ 27.449642] Buffer I/O error on dev mmcblk1p1, logical block 1, lost async page write
[ 27.462868] omap_hsmmc 481d8000.mmc: error -110 requesting status
[ 27.469039] mmcblk1: recovery failed!
[ 27.472774] print_req_error: I/O error, dev mmcblk1, sector 3416064
[ 27.479216] Buffer I/O error on dev mmcblk1p1, logical block 425984, lost async page write
[ 27.498502] omap_hsmmc 481d8000.mmc: error -110 requesting status
[ 27.506640] mmc1: cache flush error -110
[ 28.827555] mmcblk1: recovery failed!

Can someone point me what the issue is, and why it is not recovering?

I normally can boot from SD card and here are some observations in /sys/class/mmc_host/mmc1/mmc1:0001 directory:

iotlab@IoT-Lab:/sys/class/mmc_host/mmc1/mmc1:0001 $ cat date
02/2020
iotlab@IoT-Lab:/sys/class/mmc_host/mmc1/mmc1:0001 $ cat cid
7001004d363237303401168dab0a2765
iotlab@IoT-Lab:/sys/class/mmc_host/mmc1/mmc1:0001 $ cat manfid
0x000070
iotlab@IoT-Lab:/sys/class/mmc_host/mmc1/mmc1:0001 $ cat name
M62704

When I run mmc-utils command like this:
mmc extcsd read /dev/mmcblk1
From my script as an output I get this:

eMMC Life Time Estimation A: 100-110%
eMMC Life Time Estimation B: 100-110%
eMMC Pre EOL Information: 00-10%
1) emmC Life Time Estimation A
This value typically represents the wear level of the least worn-out memory cells in the eMMC.
It gives an idea of how much of the eMMC's lifespan remains.
A lower value indicates less wear and more remaining lifespan.
2) emmC Life Time Estimation B
This value typically represents the wear level of the most worn-out memory cells in the eMMC.
It is indicator of how much the eMMc has been used and how close it might be to the end of its useful life.
A higher value here indicates more wear.
3) eMMC Pre EOL Information
The Pre EOL (End of Life) information provides an indication of the eMMC's overall remaining lifespan

This is the memory usage of the eMMC:

Disk usage for /mnt/emmc:
Used: 2.4G, Available: 826.5M, Use%: 75%

Since the test output shows me that my eMMC is at end of life with wear level of 100% and more, is it likely that this happened because of the power outage and how can power outage really affect eMMC to wear out?!
It is more likely that memory issue is related to uncontrolled writing to the eMMc but internal load balancer that handles power loss situations gracefully and performs wear levelling should prevent this. We use ext4 filesystem, with image created using omap image builder.

Thanks all for the help!