1 |
> G'day, |
2 |
> |
3 |
> I'm porting the software for an embedded medical device from DOS to |
4 |
> Linux and am wondering which file systems are appropriate and which are |
5 |
> not. The device's mass storage is a Disk-on-Module solid state flash |
6 |
> drive. Data is presently written at approx 100 bytes every 30 seconds |
7 |
> but that might change to 100 bytes every second. The device has a |
8 |
> watchdog (recently activated) and during today's session it was |
9 |
> triggered and wiped out my file system. |
10 |
> |
11 |
> Anybody have recommendations on which file system to use and the |
12 |
> appropriate settings? |
13 |
> |
14 |
> Anybody have suggested readings so I can educate myself? |
15 |
> |
16 |
> Thank you. |
17 |
> |
18 |
> David |
19 |
> |
20 |
After having problems with EMC and usb storage, I finally fixed the |
21 |
problem with following solution: |
22 |
- data storage, in my case usb stick, has at least 2 partitions |
23 |
- second partition is without file system. It is divided in a number of |
24 |
slots, each large enough to store all of my data |
25 |
- all work is performed on data stored on ram disk |
26 |
- periodically (triggered by time and/or data change), I compress ram |
27 |
disk and dump it in a next slot on unformatted partition |
28 |
I have a small battery, which I use to do one final dump at shutdown |
29 |
time. |
30 |
On startup, I go through all of the slots in second partition, |
31 |
searching for latest uncorrupt data, and use this to populate ram disk. |
32 |
If you can live with some data loss, you don't even need battery backup. |
33 |
No matter wear leveling implementation on your storage, this solution |
34 |
works optimally. |
35 |
It works even on your directly accessible flash storage. |
36 |
Since there is no real file system on partition, there is no need for |
37 |
it's recovery - besides searching for latest and greatest set of data |
38 |
on startup |
39 |
And it is implemented as a ash script, using tar and gzip, so your data |
40 |
is actually better verified than on normal file system (the usual one |
41 |
do not actually checksum data. I don't consider jffs2 to be "the usual |
42 |
filesystem":) |
43 |
Nebojša |