Wear Leveling in JFFS2 NOT working!(?)

Tim Riker Tim at Rikers.org
Mon Apr 30 21:24:55 EDT 2001


David Woodhouse wrote:
> Either:
>         1. After scan, move the first <n> blocks in the list to the end
>                 of the list, where 1 < n < sizeof(list).

Providing n is random, this is a good solution. Can the list be hacked
to change the top/bottom without actually walking through n blocks and
moving them? I have not looked at the source, but for a linked list you
could join top and bottom entries and then break n and n-1 nodes and
start becomes n, end becomes n-1, etc.

>         2. When adding entries to the lists during scan, do something
>                 like: if (jiffies % 1) list_add_tail() else list_add().

This will still be somewhat pattern oriented. last blocks scanned will
be either at front or back so I suspect wear numbers will increase
towards the end of scanned blocks. ie: first scanned blocks would never
be on the end of the dirty list.
-- 
Tim Riker - http://rikers.org/ - short SIGs! <g>
All I need to know I could have learned in Kindergarten
... if I'd just been paying attention.




More information about the linux-mtd mailing list