NAND OOB data.

Atlant Schmidt aschmidt at dekaresearch.com
Mon Jun 20 15:08:34 EDT 2011


Andy:

> All the other boards apparently are all good
> (is that normal?),

  It happens; we're in the midst of switching from
  MLC to SLC flash and while I'd never expect that
  from our MLC parts, it seems to be pretty-commonly
  true for our SLC parts.


> Okay, so how do I (without the luxury of u-boot), in user or
> kernel space, wipe the OOB data?  I'm looking at the code for
> u-boot nand_erase_nand right now.  I mean, I'm not above writing
> an userspace app that will do kernel level work for me.  I'm okay
> with using /dev/mem and screwing with stuff.  Am I on the right
> track?  I mean, I hate to go down this road if I'm just heading
> for a dead-end.

  I think there's enough "stuff" available simply through
  /dev/mtd... to let you do any of this. I do a lot of
  Flash manipulation simply using Perl, mtdinfo, ubinfo
  and the /dev/mtd... and /dev/ubi... devices.

  (Unfortunately, I can't share any of that code.)

                               Atlant

-----Original Message-----
From: ANDY KENNEDY [mailto:ANDY.KENNEDY at adtran.com]
Sent: Monday, June 20, 2011 13:54
To: Atlant Schmidt; linux-mtd at lists.infradead.org
Subject: RE: NAND OOB data.

> -----Original Message-----
> From: Atlant Schmidt [mailto:aschmidt at dekaresearch.com]
> Sent: Monday, June 20, 2011 6:14 AM
> To: ANDY KENNEDY; linux-mtd at lists.infradead.org
> Subject: RE: NAND OOB data.
>
> Andy:
>
>   If you don't have the old bad block information saved
>   away somewhere (a bad block table, a scrap of paper,
>   etc.), then you *CAN'T* completely recover from this
>   situation; the original bad block data for that chip
>   is probably irretrievably lost.*

All the other boards apparently are all good (is that normal?), but,
I'm not worried about the NAND having KNOWN bad blocks as this board
is supposed to be mine.

>
>   You can mark all the blocks as "good", of course, and
>   then exercise the chip a bit, marking bad blocks as you
>   go. You'll probably never achieve the same depth of
>   testing that the factory was able to achieve using
>   voltage, temperature, and timing margining, of course,
>   but the results may be "good enough".
>
>                           Atlant

Okay, so how do I (without the luxury of u-boot), in user or
kernel space, wipe the OOB data?  I'm looking at the code for
u-boot nand_erase_nand right now.  I mean, I'm not above writing
an userspace app that will do kernel level work for me.  I'm okay
with using /dev/mem and screwing with stuff.  Am I on the right
track?  I mean, I hate to go down this road if I'm just heading
for a dead-end.

Andy


This e-mail and the information, including any attachments, it contains are intended to be a confidential communication only to the person or entity to whom it is addressed and may contain information that is privileged. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender and destroy the original message.

Thank you.

Please consider the environment before printing this email.



More information about the linux-mtd mailing list