RE: Flash Memory Wearing Qeustions
- From: S. Marsh <SMarsh@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 13 Aug 2007 10:52:03 -0700
Greetings Erik, your concerns are shared by many.
In the past I have I recommend using a commercial or open source FFS (Flash
File System) like JFFS or TrueFFS (M-Systems) because unlike FAT, these
solutions are designed to tackle this issue at its heart, and are field
proven.
The CE6 docs make reference to something called the FAL but give no details
as to its implementation and the portability of the media. I would like more
details on the FAL if anyone can provide them.
"erik.burigo@xxxxxxxxx" wrote:
Hi..
Our team is going to realize a software component running under
Windows CE 6.0 which has to record a variable amount of data:
- Synchronous data (say 200 b) every 15 minutes for a dozen of years
(with older data replaced by new one if needed).
- Asysnchronous data (not really predicatable, but for this example we
could imagine 400b per day).
Data can be asynchronously read. The target storage device is a
Samsung NAND flash memory.
We also need to persist data (and, of course, in a consistent way)
accross power failures.
We wonder about flash memory wearing issues. Currently we have
acquired this knowledge:
- Writing data on flash can be performed only to a block granularity
(128KB for our hardware). Writing smaller chunks needs to erase and
rewrite the whole block.
- There is a limited number of writings (block erase and re-write
sessions) per block before the block itslef becomes unreliable.
- FAT file systems writes the file's Directory Entry Structure each
time the file is accessed (to update the Last Access Field) [source:
http://www.maverick-os.dk/FileSystemFormats/FAT16_FileSystem.html]
- Corruption of a block can compromise each file using that block.
It seems that under these conditions the Directory Entry Structure of
the synchronous data store will be rewritten ate least 35000 times per
year, but probably twice this number because of the double update
(Last Access Date and Last Write Time). Furthermore, it's quite sure
the given structure will always reside on the same block accross its
lifetime. Also, the given structure can share the block of other
structures of files (further increasing the block wearing rate in
unpredictable ways).
Our questions are:
- Are our deductions correct?
- Is to manage the given scenery possible with "standard" Windows CE 6
components? (For example, by using different file system or by
correctly tuning a FAT?) If yes, how?
- Are there wear-leveling file systems for Windows CE? We weren't able
to find any.
- Is there a standard solution for data-acquiring devices mounting
Windows CE and storaging data on flash memory?
Thank you very much.
Erik.
- Follow-Ups:
- Re: Flash Memory Wearing Qeustions
- From: Henrik Viklund
- Re: Flash Memory Wearing Qeustions
- References:
- Flash Memory Wearing Qeustions
- From: erik . burigo
- Flash Memory Wearing Qeustions
- Prev by Date: Re: Remote Tools do not connect to emulations
- Next by Date: Re: Flash Memory Wearing Qeustions
- Previous by thread: Re: Flash Memory Wearing Qeustions
- Next by thread: Re: Flash Memory Wearing Qeustions
- Index(es):
Relevant Pages
|