storage selection for embedded devices

Philip Mullis philip.mullis at syx.ca
Tue Oct 14 17:50:23 UTC 2008


In a non-busy environment I am looking at just over 100
writes,consisting of files ranging from a few 100kbytes to a max of
40mbytes each.

The calculated max writes that would ever be reached in one day would be
8000. (Id love to leave these in memory and sync them of, however there
is not enough memory on the alix2c3 to do this in most scenarios).

Ive got the whole system down to less than 80mb which gets loaded into a
read-only memory filesystem on boot leaving me with most of the cf to be
mounted in as rw.  I used freebsd 6.4 for the image.

The Alix2c3 has 256megs Ram and is a geode 500mhz processor, it runs
quite nicely, and eats less than 6watts most of the time :)



Olivier Gautherot wrote:
> Philip, Warner,
>
> On Tue, Oct 14, 2008 at 3:00 PM, M. Warner Losh <imp at bsdimp.com> wrote:
>   
>> In message: <48F4C02F.1060407 at syx.ca>
>>            Philip Mullis <philip.mullis at syx.ca> writes:
>> : I was wondering if anyone has extended experience in this area with
>> : embedded devices.
>> :
>> : I have a fixed embedded image which runs happily out of a 1Gig compact
>> : flash card.
>> :
>> : However I have some applications that I want to install to my device
>> : that will perform writes alot to the cf.
>>
>> I've deployed CF cards into systems for a number of years (since
>> 2000).  They are way more reliable than spinning media in the
>> environments that I deploy my company's gear into.
>>
>> We have most of the CF dedicated to a read-only partition.  A small
>> modification partition was also provided.
>>     
>
> I wonder if you're talking about the same thing (may be just me...)
>
> Philip, what frequency of writes are you talking about? I think this
> is key to the discussion. Are you planning enough RAM to avoid swap?
> Can your system count with a RAM disk and regular dump of the content
> to FLASH? If this is the case, a USB stick should be a safe approach.
>
> The algorithm Sandisk is referring to enhances the statistical
> lifespan by shuffling the cells and using spare ones when the main
> array wears out (trial-and-error algorithm). The typical lifespan of a
> cell is 100k write cycles: try to evaluate whether this is compatible
> with the use you plan for your device.
>
>
>   
>> I've also tried to wear out a CF part by writing to the part, both
>> directly and through a filesystem, millions of times.  I was unable to
>> keep a machine running long enough to cause a failure (my mistake was
>> doing it in a lab where people liked to unplug things).
>>     
>
> The technology has surely evolved since I last dealt with it in an
> industrial environment. However, I would not swear by the "millions of
> times" as such: Sandisk is famous for leveling the writes over the
> whole array. Now, if your partition is relatively empty, your device
> will support more cycles. In any case, using 10% of the FLASH blocks
> can surely lead you to the millions of cycles without problem.
>
>
>   
>> : Ive read the sandisk wear leveling white paper, yet I also hear many
>> : people such as professional photographers swearing by the write once
>> : rule with cf cards.
>>     
>
> That's paranoia, especially with todays technologies.
>
>
>   



More information about the freebsd-embedded mailing list