Posted by: breenmachine
A few people have noticed that your writes to the card "dissappear" after restarting the Arduino. The block size is set up to be 512 bytes, and in the code on the first page, a 512 byte buffer is kept, once it is full, it is written out to the card.
This can be trivially disabled so that all writes are written to the card immediately (no buffering). Just open up "sd_raw_config.h" and look for the line:
#define SD_RAW_WRITE_BUFFERING 1
change it to
#define SD_RAW_WRITE_BUFFERING 0
and you should be all set...dunno if someone else already posted this but I saw the question asked and couldn't find the answer myself so I decided to take a look at the code.
If this is true you just saved me a lot of trouble ;D
Can this be done with the read function as well? I think a 512 byte buffer gets filled there too.