NAND COPY_PAGE/INTERNAL_DATA_MOVE

已查看 51 次
跳至第一个未读帖子

Savin Zlobec

未读,
2013年4月4日 05:26:022013/4/4
收件人 uf...@googlegroups.com
I've extended UFFS to use NAND COPY_PAGE/INTERNAL_DATA_MOVE when doing
block recover. I am running it now for a while and seems stable. It's
quite specific and only really safe on NANDs which can do on-die ecc.
If anybody is interested drop me a note.

Regards.

bowerymarc

未读,
2013年10月17日 08:21:192013/10/17
收件人 uf...@googlegroups.com
sure I'm interested!
bowerymarc - gmail - com

Savin Zlobec

未读,
2013年10月17日 08:28:482013/10/17
收件人 uf...@googlegroups.com
On 10/17/2013 02:21 PM, bowerymarc wrote:
> sure I'm interested!
> bowerymarc - gmail - com
>

Does you NAND feature on-die ECC?

bowerymarc

未读,
2013年10月17日 15:59:442013/10/17
收件人 uf...@googlegroups.com
oohh... it does, but i'm actually using the ECC in the controller to get better coverage (more ECC bits)....
never mind :)

Savin Zlobec

未读,
2013年10月17日 17:57:162013/10/17
收件人 uf...@googlegroups.com
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.

copy_page.diff

Marc

未读,
2013年10月18日 12:48:332013/10/18
收件人 uf...@googlegroups.com
Thanks Savin, I'll take a look.
It might be worth migrating to internal ECC at some point but the application I'm working on is read-heavy.  Writes happen only to update files, very infrequently.
M
回复全部
回复作者
转发
0 个新帖子