UBIFS recovery fails
Ricard Wanderlof
ricard.wanderlof at axis.com
Wed Oct 19 02:50:42 EDT 2011
>> This would be true, if you could assume that a page reading failure always
>> occurs after a previous read on the same page reports an ecc correction.
>> But this is not the case: we had several unstable pages going from 0 bitflips
>> (perfect read) to 2 bitflips (failed read). No way to detect any failure, no
>> way to scrub data before it's too late.
>> And the answer from the manufacturer was: you should not use any partially
>> programmed/erased pages anyway, those should be cleaned up after recovering
>> from a power failure.
>
> This should not append if you use recommended ECC bits count defined by the NAND part.
> Can you verify that, because 1 bit ECC for each 512 byte is only recommended by older
> SLC flash which are pretty stable. Newer NAND need more ECC bits, which can be
> addressed by using BCH parities.
I would think that the manufacturers ECC recommendation is only valid if
the page is properly programmed. If a power failure occurs during the
writing of a page, it has not been programmed according to the
manufacturer's specification, hence it is not properly programmed, and no
assumptions can be made as to the validity of the data.
I remember a time in the dark old days of EPROMs, when I programmed an
EPROM with too low a programming voltage (Vpp) - like 21V when the device
required 25V. It verified correctly in the EPROM programmer, but when
installed in the system for which it was intended, the data read out was
faulty.
That said, it seems to me that power failure during write causing
excessive bitflips would be a problem with any flash, not just MLC or
modern "unstable" SLC. Ivan, you said you've only seen it with modern
flashes, not older SLC ?
/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30
More information about the linux-mtd
mailing list