Hello All I thought I'd give an update on a few recent changes to yaffs... yaffs2 mode now supports a "block refreshing" feature which is primarily intended for MLC flash, but is useable on SLC too. This code periodically forces a garbage collection on the oldest block (determined by sequence number) which forces the data to be rewritten to another block. The feature is controlled by a parameter called refreshPeriod. If refreshPeriod is smaller than 10 then the feature is disabled. refreshPeriod determines how often the garbage collection logic will try to do a refresh. Useful values are probably around 10000 or so. That control is rather crude but will improve when I look into background garbage collection. While the primary purpose of the refreshing is to rewrite the oldest block to reduce read disturb and "bit rot", this also has the benefit of improving wear levelling. Also,... testing the block refreshing uncovered a bug that meant that some inactive chunks were not being deleted soon enough. This had the effect of increasing the amount of garbage in the partition meaning that the garbage collector would have to work harder. This has been remedied and should result in faster writes and better gc, though the impact might not be obvious. -- Charles