[Yaffs] Garbage collection issue.

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Michael Erickson
Date:  
To: yaffs
Subject: [Yaffs] Garbage collection issue.
Hello all,

Well, I just spent a couple of fun days trying to track down an issue I
was having with my implementation of the YAFFS direct interface. I had
thought everything was fine, but I noticed that when I started to copy
larger files to my YAFFS partition, the files were being corrupted.

Eventually, I determined that this was happening when the garbage
collector ran. To verify, I modified the yaffs_CheckGarbageCollection()
function to just return YAFFS_OK without doing any garbage collection of
any kind. As soon as I did this, all of my problems went away.

I do not believe that this is a bug in the YAFFS code. Rather, I think
the problem has to do with my definition of a block size and what is
physically hooked up on my board.

I have two NOR (StrataFlash) devices hooked up together to look like one
device. Is there anything special that I need to do with this situation?

Currently, each individual chip has a block size of 0x20000 bytes. So, I
have been reporting to YAFFS that the block size of the device is
0x40000 bytes. That way, when YAFFS wants to erase a block, I should be
erasing one block from each chip and there won't be any overlap.

However, something about this is most definitely *not* working.

Any ideas would be great.

Thanks,
    --mike


--
Michael Erickson
Senior Software Engineer
Logic Product Development
(612) 436-5118
mailto:mikee@logicpd.com
http://www.logicpd.com

This message (including any attachments) contains confidential
information intended for a specific individual and purpose, and
is protected by law. If you are not the intended recipient, you
should delete this message and are hereby notified that any
disclosure, copying, or distribution of this message, or the
taking of any action based on it, is strictly prohibited.