FAT vs jFFS2 for NAND.
Claudio Lanconelli
lanconelli.claudio at eptar.com
Wed Jun 21 10:15:34 EDT 2006
Hi Thomas,
Thomas Gleixner wrote:
> This looks up the bad block table which is created in ram after the NAND
> chip has been detected in nand_scan() and helps you to avoid reading bad
> blocks. Just skip the block, when the function returns 1.
>
> The only exception I think is block 0, which contains the SSFDC header
> and is marked bad for protection.
>
>
Are you sure about block 0 marked bad for protection? I read in
smartmedia specification by Toshiba that SSFDC header called CIS/IDI is
located on the first good block. Here the sentence:
"The CIS/IDI Field is placed in physical block 0.
If physical block 0 is found to be a defective block, the area is placed
in the
first normal block that is found after physical block 0.
Irrespective of the page size, only one block is assigned."
[...]
"The indication of a defective block and logical block arrangement in
the data
area will be set in the redundancy area.
In the case of the 512+16 bytes/page models, the 6th byte (byte address
517th)
in all pages in the redundant section contains two or more “0” bits to
indicate
a defective block."
My code follow these instructions on the SSFDC header location, is it
correct?
Anyone who knows it for sure?
Another question about the ECC placement. I think the MTD default ECC
bytes placement
in the redundant area is not suitable for SSFDC. I found the
CONFIG_MTD_NAND_ECC_SMC
in mtd configuration, but it's not used anywhere in the code. How can
the ssfdc_ro layer tell
to use smartmedia ECC bytes placement?
Thanks,
Claudio
More information about the linux-mtd
mailing list