Well, than it's probably not worth the effort since in any case you
need to to pull the data from NAND into MCU. Anyhow I've attached the
required changes. The patch adds an additional driver method -
CopyPageWithLayout - which is used during UFFS block recovery. If you
don't plan to write files strictly sequentially or you intent to append
small chunks of data you could consider it. Performance wise it boils
down to NAND io transfer rate vs read/program times. CopyPageWithLayout
is intended to work in the following way:
1) read source page into NAND internal buffer
2) update UFFS tag data in NAND internal buffer
3) write NAND internal buffer to destination page
For this to work NAND part has to support internal data move operations.
As for the ECC it is possible to do without on-die, but in this case you
need to correct bit flips which could occur during data move in some
other way. Like page move counters in nvram :-| Using on-die ECC will
automatically correct any bit flips during the move.
PS:
I've written a sim to help me exercise UFFS copy page and - specially -
bad block handling. I have a newer small geometry SLC NAND part with
much higher raw BER than old good SLCs. If interested check:
https://www.dropbox.com/sh/cppqv1b87ghacbl/OgF3UGKyPK
> --
> You received this message because you are subscribed to the Google
> Groups "UFFS" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
uffs+uns...@googlegroups.com.
> To post to this group, send email to
uf...@googlegroups.com.
> Visit this group at
http://groups.google.com/group/uffs.
> For more options, visit
https://groups.google.com/groups/opt_out.