[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' :)
sjhill@xxxxxxx.com said:
> 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
necessary.
sjhill@xxxxxxx.com said:
> 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.
sjhill@xxxxxxx.com said:
> 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.
Add:
- Compression.
- Formal proof of GC correctness.
--
dwmw2