Skip to contentSkip to conversation

NAND flash file system and JFFS2 problem

DISCUSSION Jakub Bednář 3 participants 3 messages Mar 22, 2007 – Mar 23, 2007 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

Hi,
I've spent long time reading all about mtd devices and I'd like
to check if I understood correctly.

1.) The NFTL is usable ONLY for DOC, not for normal NAND flashes.

      Thats why nftl_format prints unrecognized erase size 0x20000

2.) FTL is usable ONLY with NOR flashes, that's why the ftl_format
ends with an error on trying to erase bad block on NAND in dmesg.

3.) So there should be used JFFS2 on NAND, there is no good and reliable
way to run ext2 on NAND.

I've also encountered a problem.
I'm using kernel 2.6.16.20 from buildroot on DBAu1550 like board. When running destroy test on Samsung NAND where I had ext2,
I was using programs from busybox placed on NOR flash (jffs2) /dev/mtdblock0. Links like dd, cp, md5sum.

NAND was mounted on /mnt/. After creating a 45MB file /mnt/file0 with dd from /dev/zero and running md5sum, something got wrong and all the links from NOR jffs2 stopped working with lot's of errors in CRC codes. I wasnt writting to the NOR jffs2 but I have it mounted rw. After rebooting the NOR jffs2 is ok again!

So maybe it mess up in RAM??? What can couse this trouble?

Thanks a lot for Your answer

Jakub

#1 lore raw
Quoted 6 lines · Jakub Bednář

Hi,
I've spent long time reading all about mtd devices and I'd like
to check if I understood correctly.

1.) The NFTL is usable ONLY for DOC, not for normal NAND flashes.

      Thats why nftl_format prints unrecognized erase size 0x20000

Yes.

Quoted 2 lines

2.) FTL is usable ONLY with NOR flashes, that's why the ftl_format
ends with an error on trying to erase bad block on NAND in dmesg.

Not sure, but I think yes.

Quoted 2 lines

3.) So there should be used JFFS2 on NAND, there is no good and reliable
way to run ext2 on NAND.

Correct. Yaffs can also work on NAND.

Quoted 6 lines

I've also encountered a problem.
I'm using kernel 2.6.16.20 from buildroot on DBAu1550 like board. When running destroy test on Samsung NAND where I had ext2,
I was using programs from busybox placed on NOR flash (jffs2) /dev/mtdblock0. Links like dd, cp, md5sum.

Quoted 6 lines

NAND was mounted on /mnt/. After creating a 45MB file /mnt/file0 with dd from /dev/zero and running md5sum, something got wrong and all the links from NOR jffs2 stopped working with lot's of errors in CRC codes. I wasnt writting to the NOR jffs2 but I have it mounted rw. After rebooting the NOR jffs2 is ok again!

So maybe it mess up in RAM??? What can couse this trouble?

That seems very odd. Unfortunately, I don't have an idea at the moment.

josh

#2 lore raw
In reply to Jakub Bednář
Quoted 4 lines · Jakub Bednář

Hi,
I've spent long time reading all about mtd devices and I'd like
to check if I understood correctly.

Quoted 8 lines

1.) The NFTL is usable ONLY for DOC, not for normal NAND flashes.

      Thats why nftl_format prints unrecognized erase size 0x20000

2.) FTL is usable ONLY with NOR flashes, that's why the ftl_format
ends with an error on trying to erase bad block on NAND in dmesg.

3.) So there should be used JFFS2 on NAND, there is no good and reliable
way to run ext2 on NAND.

All correct, although you could also try yaffs or logfs.

Quoted 6 lines

I've also encountered a problem.
I'm using kernel 2.6.16.20 from buildroot on DBAu1550 like board. When running destroy test on Samsung NAND where I had ext2,
I was using programs from busybox placed on NOR flash (jffs2) /dev/mtdblock0. Links like dd, cp, md5sum.

Quoted 6 lines

NAND was mounted on /mnt/. After creating a 45MB file /mnt/file0 with dd from /dev/zero and running md5sum, something got wrong and all the links from NOR jffs2 stopped working with lot's of errors in CRC codes. I wasnt writting to the NOR jffs2 but I have it mounted rw. After rebooting the NOR jffs2 is ok again!

So maybe it mess up in RAM??? What can couse this trouble?

It's hard to say without seeing the errors. It sounds like the physical access to the NOR flash got screwed up somehow, so you couldn't read it correctly.

Signature · 1 line
dwmw2