[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Finalized TODO list for NAND and JFFS...
I admire your optimism in calling it 'finalised' :)
> 1) Wear-leveling and aging for block re-usage for NOR and NAND
OK - this is useful information to have, but....
> 6) Block re-usage algorithm:
... what's the point if you're not going to _use_ it? I'd be inclined to do
without the statistics for now, and implement something like the block
selection algorithm you quoted. We can add it later if it's absolutely
> 8) JFFS should do read after write of data with NAND flash only
Make it configurable, perhaps, but I'm inclined to do read-after-write with
NOR flash too. If the MTD device claims to support ECC, you don't have to
actually compare the data which were read back.
> 2) JFFS needs write gathering for NAND to keep from writing
> more than 10 times per page
> 2) I understand what the sentence is saying, but I do not have
> a clear idea on how to do this.
I'm inclined to start by making flash_safe_write() do caching and only
flush to the actual MTD device when a later write wants to write to a
different page. Then look at the places where you've either broken the
journalling or could still exceed the write limit.
> 7) Utilize 'drivers/char/flash_mem.c' for caching 512 byte blocks
> with a buffer and write out data only when different page is found
> 7) I believe this will be handled at the MTD level and is
> transparent for JFFS.
No, you'll break the journalling if JFFS doesn't know what's going on. Use
flash_mem.c as a reference - it's doing the same thing as you wanted to
write in item 2.
- Formal proof of GC correctness.