This is a bit off topic, but I need some pointers and we seem to have quite a few really smart people on this list. ;-)
I'm trying to learn about the issues and solutions to using CF cards for data logging in appliances where the power may be pulled at any time.
There are sort of two classes of logging. One would be classic "write only" logging. The other would be things like total run time, an odometer, that sort of thing where you might want to something that amounts to erase the old value and over write it with a new one. Obviously the second case would degenerate a bit with at least "double buffering" and could get as "bad" as a "write only" log history.
I say write only, meaning that the download/reset/erase procedure could be under controlled conditions and not a concern.
My issue is that CF cards present and IDE abstraction that hides the underlying block sizes and the fact that FLASH is erased as a block (and unknown block) and rewritten from scratch. I have absolutely no idea what size these blocks are such that I might separate my "read-only" partitions from my "write only" partitions with a buffer partition. I also have absolutely no idea what happens to these things when the power is pulled, esp. in the middle of an erase/write cycle or how these erase/write cycles might be optimised.
Any pointers or suggestions would be greatly appreciated.
Thanks! Ty