All,
Thanks for all the comments.
@Daixiwen and @mschnell -
I do use the Industrial CF that @Daixiwen mentions. I have used it sucessfully in an embedded flight data recorder (multiple copies) with a Cirrus Processor. I used uClinux and did a e2fsck on every boot and the sytem came up in say, 90 seconds. VERY RELIABLE. WE HAVE NEVER HAD A PROBLEM WITH THESE CFs losing data.
I also do the fsync on this and we have found that we only lose 200 msecs worth of data (we can compare with other recorders on the A/C).
Now they want data at boot time too. So, we are trying to tackle this with the Nios II on a Cyclone II (we are trying to stay away from the Stratix because of price). Our prototype PCB that should be here soon has enough memory for a 32 second boot (we thought that would do it - we did not think we'd get such BIG numbers for checking the CF).
With the Cyclone II Dev Board we've got a simulated data rate and I really think we have the VHDL, my driver and the user space code optimized. I've looked at "top" while we are running and 52% of the time is spent doing i/o.
BACK TO THE "journalling" :
At boot I'm doing a: e2fsck -pv /dev/sda1
If the CF is clean I get a 9 second boot.
If I run it for a short period of time I get 16-20 second boots.
If I run it for longer periods - my boot time once was 2 minutes 45 seconds !!
SHOULD I TRY ANY tune2fs settings ??
SHOULD I check the disk differently at boot ?
I tried not checking and the system hangs.
THANKS IN ADVANCE