All of lore.kernel.org
 help / color / mirror / Atom feed
* One bit flip in erased page causes uncorrectable error using (LS1020A) HW ECC
@ 2017-03-07  9:15 Kees Trommel
  2017-03-09 22:15 ` Richard Weinberger
  0 siblings, 1 reply; 4+ messages in thread
From: Kees Trommel @ 2017-03-07  9:15 UTC (permalink / raw)
  To: Linux MTD; +Cc: Norbert van Bolhuis

Hello,

I am doing development on a custom board with a NXP LS1020A of which the 
NAND controller supports HW ECC. Unfortunately the implementation of the 
HW ECC does not do the final XOR with the ECC of an empty page (like the 
Linux SW implementation does). This causes that a read of an empty page 
(both data and OOB) causes the HW to report an uncorrectable error. The 
Linux driver of this NAND controller (drivers/mtd/nand/fsl_ifc_nand.c) 
tries to workaround this by checking whether a page with an 
uncorrectable error is erased and if so the uncorrectable error is 
suppressed. However this work around does not work when a bit flips in 
an erased page because the page is no longer regarded as empty:(

I observed a few times that UBI reports uncorrectable errors for the 
above reason and I am wondering whether this can cause a corruption of 
the UBI/UBIFS on top of the NAND mtd?

Until now I did not observe an UBI/UBIFS corruption but I am not sure 
whether I am just lucky or whether UBI/UBIFS can deal with uncorrectable 
errors in erased pages. I am  hoping that someone with a more in depth 
knowledge of UBI/UBIFS can answer this.

Regards,

Kees Trommel.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-19 20:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-07  9:15 One bit flip in erased page causes uncorrectable error using (LS1020A) HW ECC Kees Trommel
2017-03-09 22:15 ` Richard Weinberger
2017-03-14 15:56   ` Kees Trommel
2017-03-19 20:34     ` Richard Weinberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.