Linux 2.6.x, MTD drivers and NAND flashes
Bill Gatliff
bgat at billgatliff.com
Tue Jun 12 01:59:37 EST 2007
Laurent Lagrange wrote:
> Hello,
>
> I use a Linux 2.6.9 on a 85xx custom board with a NAND flash.
>
> This flash has some bad blocks.
> NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB
> 3,3V 8-bit)
> Scanning device for bad blocks
> Bad eraseblock 8 at 0x00100000
> Bad eraseblock 430 at 0x035c0000
> ...
> Creating 1 MTD partitions on "NAND 128MiB 3,3V 8-bit":
> 0x00000000-0x08000000 : "flash partition 1".
>
> I have selected in the kernel :
> 1) the MTD character and block supports for NAND,
> 2) the CRAMFS and JFFS2 supports for NAND.
>
> I can erase the flash but receive IO errors for each bad blocks (that
> seems right).
> I can mount an empty JFFS2 partition on the NAND and untar some
> directories and files in it.
>
> I would like to generate some JFFS2 images and program them in the
> flash with a character
> command like "cat img > /dev/mtd/0". If I dont encounter a bad block,
> it runs right else the
> command fails.
>
> This is a little bit annoying. So my question is simple :
> Is there a MTD character driver which can detect and ignore the bad
> blocks in a NAND flash ?
Wrong question. :)
With NAND, working directly with the media is indeed a pain because of
bad blocks. What's done instead is to leave that to the filesystem.
Pick a NAND-aware one like YAFFS.
b.g.
--
Bill Gatliff
bgat at billgatliff.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20070611/48e9d7be/attachment.htm
More information about the Linuxppc-embedded
mailing list