JFFS3 & performance

Artem B. Bityuckiy dedekind at infradead.org
Thu Jan 6 05:08:16 EST 2005


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.




More information about the linux-mtd mailing list