[Yaffs] Characterizing the YAFFS2 GC process

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Chris Gofforth
Date:  
To: Charles Manning, yaffs@lists.aleph1.co.uk
Subject: [Yaffs] Characterizing the YAFFS2 GC process
Hi:

This post relates to the bit-flip issue threads.


It has been suggested that the YAFFS logic be told to do GC on a block
which contains a page (Chunk) that needs to be moved due to too many Bit
flips. The idea being that the block should get 'refreshed' to clear the
bit flip issues and causing a GC in YAFFS2 will do this.


In this situation, all pages within the block have to be moved before that
block can be erased (Since all the data is still valid). For MLC flash,
this could be a large number ( say 256, 8-16k pages). That means 256 reads
modify program operations. That time can be considerable.

Does YAFFS2 only do one or a few page move at a time ( read modify program)
and then allow other access requests to occur, or does it basically do it
all at one, meaning that any other access requests are now made pending?
The 'How Yaffs Works' documentation talks about passive/aggressive methods.
In this situation ( where we say to do GC due to bit-flip issues) which one
will it do?

This would help us determine how many 'pauses' and how much of a pause we
can expect when accessing MLC flash.


Thanks




Chris Gofforth / Pr Software Engineer

MS 131-102, Cedar Rapids, IA, USA

Phone: 319-295-0373 Fax: 319-295-8100



www.rockwellcollins.com