The last line:
> 200h:ff ff ff ff 00 00 ff ff ff ff ff ff ff ff ff ff
is the spare area (oob, redundancy, ...) and refers to yaffs_Spare structure (defined in yaffs:guts.h file).
// Spare structure
typedef struct
{
__u8 tagByte0;
__u8 tagByte1;
__u8 tagByte2;
__u8 tagByte3;
__u8 pageStatus; // set to 0 to delete the chunk
__u8 blockStatus;
__u8 tagByte4;
__u8 tagByte5;
__u8 ecc1[3];
__u8 tagByte6;
__u8 tagByte7;
__u8 ecc2[3];
} yaffs_Spare;
So the two 0x00 bytes are pageStatus and blockStatus.
pageStatus 0 means that the page is deleted (so ready to be used without a new erase command)
blockStatus 0 means that the block has been retired (marked bad) or is a factory marked block
From what I can see from source code, the only way to have such values are:
- the Factory has marked this block bad (could happen on some devices/manufacturer)
- yaffs has marked this block with the function yaffs_RetireBlock
The second case (the only that depends on yaffs code) could happen if there's an erase error; the reason of this error could vary depending on your flash interface, noisy environment, EM, etc.
I suggest you to enable yaffs trace (search for #define T(x)) and look at debug message to better understand your fs operations.
I also suggest to erase all your flash memory before mounting yaffs because I can't really figure how it can menage a badly formatted chip (perhaps this is the real problem).
Just to know, what kind of flash device are you using?
What's the OS?
Regards
Adamo
> -----Original Message-----
> From: Skumar [mailto:skumar@mistralsoftware.com]
> Sent: lunedì 19 aprile 2004 14.18
> To: yaffs
> Subject: bad block problem
>
>
> hi,
> has someone faced the problem where yaffs has marked many blocks bad?
> for me yaffs has marked almost 70% blocks bad.
> below i am attaching the data of page 0 of a block which is marked bad
> this is the data in the all pages of blocks which are marked bad
> notice the last row ***
>
> help needed
>
> Regards
> sharath
>
> 0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 10h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 20h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 30h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 40h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 50h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 60h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 70h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 80h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 90h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> a0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> b0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> c0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> d0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> e0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> f0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 100h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 110h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 120h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 130h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 140h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 150h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 160h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 170h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 180h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 190h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 1a0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 1b0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 1c0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 1d0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 1e0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 1f0h:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> 200h:ff ff ff ff 00 00 ff ff ff ff ff ff ff ff ff ff
>
>
---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (
www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by
sending an email to
yaffs-request@toby-churchill.org with the text "unsubscribe"
(without the quotes) as the subject.