Hi Chandru,
From what I gather from your mail I think that what ever block has given you Input /output error is really bad block or its OOB area is screwed up.

Do you have the nanddump? Also, it always helps if you get the dump with -p option as it clearly differentiates the data area and the OOB area and you will get a pretty output.

Bad Block information is a very important information in a Flash device and you might not want to loose it. However one can screwup the bad block info by overwriting these info.

There is some function in nand_base.c like XXX_isbad, the function actually checks if a block is bad and returns the result. You can change this function to return "0". By doing this you will be able to use the bad blocks that were falsely accused bad because of bad OOB management. NOTE: This is just a hack to fix blocks that have bad info written accidentally and in this process you may potentially loose an actual bad block info.

After doing this you may still get input/output error if the blocks are really bad!!

Have you enabled ECC in your nand driver? Which one? What is the page size of your NAND?

regards,
shivas

yaffs-request@lists.aleph1.co.uk wrote:
Send yaffs mailing list submissions to
yaffs@lists.aleph1.co.uk

To subscribe or unsubscribe via the World Wide Web, visit
http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
or, via email, send a message with subject or body 'help' to
yaffs-request@lists.aleph1.co.uk

You can reach the person managing the list at
yaffs-owner@lists.aleph1.co.uk

When replying, please edit your Subject line so it is more specific
than "Re: Contents of yaffs digest..."


Today's Topics:

1. Regarding Bad blocks (Chandru)


----------------------------------------------------------------------

Message: 1
Date: Fri, 19 Jan 2007 18:07:53 +0530
From: "Chandru"
Subject: [Yaffs] Regarding Bad blocks
To:
Message-ID:
Content-Type: text/plain; charset="us-ascii"

Hi All,

How can I know the physical location of a file accessed for reading
or
writing ? I get a messages on console " ecc error fix performed on chunk
8573:0 " on the console. Is there any possibility to determine the location
where this ecc fix is performed (offset from where the flash is mapped ).
The number 8573 is the chunk id, I suppose. Is there any logic to find out
the physical location of the chunk, I suppose the page ?

When does the page gets bad blocks ? What happens while the chip is
powered off when some data is being read from it ? Is there any chances of
data being corrupted when chip is powered off while in read operation ?

I am trying to use nanddump utility to dump the contents to a file
in HEX Value. After reading the first block, I am getting Input/Output
error. May be the second block has been corrupted, and the read operation
fails.
FYI I am using kernel 2.4.19. Does the nanddump needs any
modification to ignore the BAD blocks ?

Any reference docs or ideas would help me to figure it out.


Thanks,
Chandru.







------------------------------

_______________________________________________
yaffs mailing list
yaffs@lists.aleph1.co.uk
http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs


End of yaffs Digest, Vol 20, Issue 12
*************************************


Now that's room service! Choose from over 150,000 hotels
in 45,000 destinations on Yahoo! Travel
to find your fit.