EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: nenea dani on January 11, 2019, 05:13:29 pm

Title: Strange recovery of the serial flash memory
Post by: nenea dani on January 11, 2019, 05:13:29 pm
Hello colleagues,
   It is known that some SPI memories say that Winbond  w25q64fvsig can be recovered when it is altered. The phenomenon is well known by those who repair LED/LCD TVs. Such an altered content memory is read in the device or extracted and read with a programmer e.g. RT809F. In 30-50% cases the same memory can be rewritten with just its own content and  then can work for many years. I'm observing that programmers generally read and write at a low speed versus  LCD/LED or the device they come from. How do you explain this strange phenomenon?
Title: Re: Strange recovery of the serial flash memory
Post by: ataradov on January 11, 2019, 06:25:35 pm
Over time flash bits may become unreliable. Those 30-50% you see is a probability of some bit still read correctly. I the copy you got was correct, then programming it back refreshes the bits.

So even if you did not success the first time, do multiple reads in a row and see if there is a difference in binaries. If the first binary did not work, then if you read one with a small difference (1 bit probably), then it is likely to be the working image.
Title: Re: Strange recovery of the serial flash memory
Post by: ataradov on January 11, 2019, 06:26:46 pm
And depending on how the flash is architected, reading slower may also be a contributing factor. But the root of the issue is the same - weak bit on the flash.
Title: Re: Strange recovery of the serial flash memory
Post by: nenea dani on January 11, 2019, 08:06:53 pm
  Some types of LED TVs start after many attempts before the flash is permanently altered. But it can also sometimes be recovered. Alteration of these SPI flash memory accounts for about 40% of all LED TV malfunctions. There are many Flash manufacturers: Winbond, Gigadevice, Spansion, Mxic and the list goes on, but the memories are altered after a while, and besides, it does not matter the manufacturer of the LED TVs.
    On the same programmer if a memory can not be copied at the first attempt, it can never be recovered. However loaded with a correct software becomes fully functional.   
    As far as I know, the content of these flash SPIs is transferred to another memory when the device is powered on. After that, it is only sometimes accessed. In conclusion, it is not required at all times. Or maybe it is not.
Title: Re: Strange recovery of the serial flash memory
Post by: ataradov on January 11, 2019, 08:58:44 pm
How many times have you tried to read it on the programmer to say "never"?

There is nothing magical or special about that flash. I have no idea why it fails a lot in TVs though. Failing bit will show more under higher or lower than normal temperatures. So if this flash is next to some hot area, it has higher chance to fail, if it is already marginal.

If you have one of those failed read outs, compare it to the good file and see what is the nature of the failure.

It does not really matter if it is required at all times or not, if the first read fails, the system will fail.
Title: Re: Strange recovery of the serial flash memory
Post by: nenea dani on January 12, 2019, 12:12:07 am
Some chips will not be recovered even if they are read one hundred times. It does not matter whether they are cold or hot and the high temperature does not alter them. I have solder and desolder  some chips for 20-30 times trying to pair a software with a tv LED. Temperature does not affect data loss. It is a more subtle phenomenon.It's impossible to find the differences between an altered and a right one. I do not have a situation when I can read erroneously and then correctly. It is always read well  all the time or bad all the time. A factory software is not the same as one read from a TV set because the latter contains settings. Hex is somewhat encrypted.  A SPI flash memory can generate two different hex in two successive readings even through the serial interface, because the processor makes all sorts of enrollments. The problem is I do not know where different registers are. I heard that some radiation could alter these chips but I do not know the details.
Title: Re: Strange recovery of the serial flash memory
Post by: ataradov on January 12, 2019, 12:20:38 am
A factory software is not the same as one read from a TV set because the latter contains settings.
But presumably there is also firmware part. Compare that part.

I doubt corrupted settings will make the TV stop working. And if corrupted setting can make the TV stop working, then I would just suspect shitty coding on the manufacturers side and unintentional damage while writing.

Damage to the actual flash array is VERY rare in those devices. If it happens on a lot of devices, it is probably a software error.

Hex is somewhat encrypted.
It is irrelevant. We are comparing raw binary data.

A SPI flash memory can generate two different hex in two successive readings even through the serial interface, because the processor makes all sorts of enrollments.
Do you read it in parallel with the TV without desoldering?