Re: JFFS3 & performance

Artem B. Bityuckiy
2005-01-06T10:08:16Z

On Thu, 23 Dec 2004, [iso-8859-1] Jörn Engel wrote:

Jorn Engel:
> NOR is pretty reliable anyway, so we could just go
> without a checksum.

Can not agree with you. Checksums are requred even for very reliable NOR
flashes to be able to detect broken nodes which can appear after unclean
reboots.
My understanding is that this is the most important thing why CRCs are
needed. The media corruption is of lesser priority. From this perspective
we may easilly use any weaker (then CRC32) checksum, but this checksum
must be good in detecting partially written nodes.

> Correct. Simple parity might be a nice reference as well. It is
> really bad at catching even-bit errors (2,4,6,...), but it's fast.

And please, bear in mind that if we encounter ECC error, this means error
somwhere in the page. But this page may contain several JFFS3 nodes and we
may recover some of them. So, having per-node CRC is good idea even if
there is ECC (ECC is per-page).
For example, the board may have been rebooted uncleanly during writing ECC
(the data was already written, ECC is written after data). In this case we
may have correct data but just wrong ECC. Having CRCs, we might recover
all JFFS3 nodes.

--
Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.