linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Software ECC on NOR Flash
@ 2014-04-30  7:50 Joshua Lamorie
  0 siblings, 0 replies; only message in thread
From: Joshua Lamorie @ 2014-04-30  7:50 UTC (permalink / raw)
  To: linux-mtd; +Cc: Berke Durak, Francesco Ricci

Hello there,

I would like to request some recommendations for how best to implement software ECC for NOR flash devices presenting MTD or UBI interfaces.

Background

I am using Linux with MTD on a couple of LEO satellite applications. In the case of NOR flash, even when no write activity occurs the radiation environment (primarily energetic protons) can cause bit flips (often from 0 to 1).  Presently, I am presently using various FEC, EDAC and redundancy techniques on large sections (e.g. kernel and ramdisk images). This works well, but I would like the flexibility of a UBIFS or JFFS2 system so I can remotely modify individual files (albeit rarely).

Archive Search

I have gone through the linux-mtd archives and I have been unable to find any specific examples of this. The closest was a series of patches from June 2013, referring to a generic 'spinand' framework.

http://lists.infradead.org/pipermail/linux-mtd/2013-June/047339.html

This seems interesting because the implementation appears to target a NOR flash device (S25fl256s) which I don't think has OOB data, and there is a software ECC.  However, after following Sourav Poddar's related messages (Jul. and Aug.), it appears this was dropped (although mt29f_spinand lived on).

Layers

I have been looking into where I might place some type of ECC layer and I believe my options are:

1) UBI: Add 'extra' ECC data (and functions) to the UBI logical erase block.
2) MTD-MTD: Create an MTD middle layer that uses the current mtd interface to read/write/erase the memory device, add some ECC and then present a contrived mtd interface to higher layers.
3) m25p80: Use blunt-force-trauma to squeeze some hack into the driver's read/write functions.

I understand that this is a somewhat rare situation, but I'm sure there are plenty of cubesat developers who would jump all over a good solution to this.

Thanks in advance

Joshua Lamorie
Xiphos Systems Corp

p.s. I am presently lurking around the Embedded Linux Conference if anyone wants to talk about this in person.



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-04-30  7:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-30  7:50 Software ECC on NOR Flash Joshua Lamorie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).