On Wed, 2014-01-15 at 21:29 +0000, Gupta, Pekon wrote: > Hi Artem, > > >From: Artem Bityutskiy [mailto:artem.bityuts...@linux.intel.com] > <snip> > >Conclusion: all UBIFS needs is a way to ask the driver - is this NAND > >page blank or not? UBIFS does not really has to compare to all 0xFFs. > > > Thanks for details. Yes, I understand the concept in general that you > want to recover last bit of user-data written on NAND (without corruption). > > Now, as NAND driver itself does differentiation between and erased-page > v/s programmed-page. Can we use different error codes to pass this > information to upper layers like;
I thought the ECC is something which could be used to differentiate. > *For MTD layer* > 0: data valid, length of data is determined by 'read_len' (currently) > -EUCLEAN: correctable bit-flips found, data is valid > -EBADMSG: un-correctable bit-flips, data *may-be* invalid. > -ENODATA: detected erased-page. *Actual* data determined by read_len. > -ENOMSG: detected erased-page with bit-flips. *Actual* data determined by > read_len. Not sure this is a good idea. If NAND driver cannot do the differentiation, then it should not be done by the MTD layer, I think. Then just improve UBI and UBIFS and make the function which compares buffers with all 0xFFs allow for bit-flips. We know the maximum possible bit-flips per min. I/O unit, right? Just allow for that amount. -- Best Regards, Artem Bityutskiy _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot