Does UBIFS NAND ECC info get stored in OOB?

Steve deRosier derosier at gmail.com
Tue Dec 30 11:44:03 PST 2014


 Hi All,

Sorry if this is a stupid question, but I found a number of old
archived messages that explicitly state that UBIFS (actually, probably
UBI) doesn't utilize the OOB of a NAND flash at all for storing the
ECC information. And as near as I can tell from behavior and code, it
does certainly store ECC info in the OOB area.

So, does UBIFS utilize the OOB area to store ECC bits?  And if not,
where/how does it store this information?

I'm starting to assume that you're simply saying that UBIFS itself
doesn't use the OOB area, nor even handles the ECC itself, but that's
up to the chip driver layer. And that the driver will handle the ECC
and OOB as appropriate.  Am I correct?

Details of my question:

We're having some trouble with filesystem corruption on a Linux 3.8
kernel based on an Atmel SAM9g25 controller.  The controller does have
the PMECC unit.

It utilizes the mtd/nand/atmel_nand.c driver. This driver has the
PMECC bits in it and does appear to write/read/correct-via ECC bits in
the OOB area of the NAND.

We're using UBIFS for our rootfs.

And yes, I understand the 3.8 kernel is old, and we're upgrading, but
I'm trying to figure out why we're having the problems as I'm assuming
it's not a bug in the code but more of a configuration or process or
hardware issue.

One example of finding that UBI & UBIFS doesn't use the OOB area is "
this is not a problem for UBI/UBIFS, because neither UBIFS nor UBI use
OOB area;" from http://www.linux-mtd.infradead.org/doc/ubifs.html

Thanks any help,
- Steve



More information about the linux-mtd mailing list