10-24-2019, 01:16 AM
(10-23-2019, 01:34 PM)Nikolay_Po Wrote: Thank you for explanation. Do you use the same type flash memory in every case? May be the root of the problem is in flash media stability?Hi,
I used single ROCKpro64 for several month without a UPS. And after tens of sudden shutdowns there was none startup failures. Both "Transcend microSDXC 300S Class 10 Uhs-i U3 A1 V30 128GB" card and 16GB Pine64 flash module was able to restart correctly after any shutdowns, including power failures.
The startup of different OS is an interesting fact. If unwanted OS was not kept on the media intentionally it's start may be an evidence of major flash memory controller failure.
- What storage media are connected to your boards at the moment of power failure and restart?
- Was there any Android OS written to the media before? How could it start?
- Was Android overwritten by different OS before failure?
It is well known that newer data are always written to the blocks of flash cells which was worn less. So until the amount of data written is less than media capacity the elder information will still persist on the media.
In case of sudden power failure the flash controller may corrupt the data written last. But previously written data, even being overwritten, may return because of controller database intrinsic backup restoration.
Try to perform periodic "fstrim -a". The trimming itself may initiate flash media controller database update. And in case of sudden power loss it may return to more fresh backup than without of trimming.
Thanks for the elaboration. It gave me some clarifications.
For your querries -
Do you use the same type flash memory in every case?
Yes
What storage media are connected to your boards at the moment of power failure and restart?
eMMC 16GB from pine iteself (FORESEE NCEMAM8B-16G Z1S18061467571826).
Was there any Android OS written to the media before? How could it start?
No only Ubuntu18.04 LXDE image have been used from initial. I asked the same issue with pine support guys they suggested me to test the same with Android 7.2 OS. And it booted don't know how.
Was Android overwritten by different OS before failure?
No, Android was not even in the picture before.
One more point, i tested the same board with Armbian image and it also worked but not with the Ubuntu based eMMC. The interesting point is if i reflashed the same eMMC with fresh Ubuntu image then it works. So clearly OS corruption but few devices even don't boot with any of the OS/new eMMC.
This is still suspicious error for me and i am keep on digging around.