[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Endurance

daniel.haensse@xxxxxxx.ch said:
>  I'm considering to use JFFS for our openhardware board  
> (http://www.openhardware.net/Dragonix) . I want to append 10 bytes 
> to a log every 6 seconds. I would like to use any kind of flash with
> NOR or NAND  technology. Let's assume that the chips have 1 million 
> Program / Erase Cycles and a  2megabyte chip. How log will it take 
> until the chips is blown? When writing  the same location it will take 
> about 70 days, which is pretty short. We need  at least 5 years.

If you have a 2 MiB chip and you append 10 bytes of data each 6 seconds, 
then even assuming no metadata overhead you'll fill the chip in just over a 
fortnight. Presumably you'll be periodically reading these logs and erasing 
them from the flash?

An estimated chip lifetime of 1 million erase cycles then means it should
last 1 million * 14.5 days, or about 38 thousand years.

With ten-byte writes, you'll find that there's actually quite a lot of 
metadata overhead though - for this purpose you might do better to log 
directly to the raw flash device.

> How does a chip die? Does JFFS handle defect sectors?

JFFS doesn't handle bad sectors, and will have a tough time working round 
them due to the sequential nature of the log. The folks at Lynuxworks have 
worked around this by adding a kind of translation layer underneath JFFS, 
to map out the bad sectors. 

JFFS2 can deal with bad sectors to a certain extent - but this code hasn't 
been tested hard because of the infrequency of such events.


To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com