Got the SdFat working from the above source now with modified timestamps
Also, if anyone is curious, results from bench.ino
Code:
Free RAM: 57255
Type is FAT32
File size 5MB
Buffer size 100 bytes
Starting write test. Please wait up to a minute
Write 384.35 KB/sec
Maximum latency: 190753 usec, Minimum Latency: 6 usec, Avg Latency: 259 usec
Starting read test. Please wait up to a minute
Read 1023.12 KB/sec
Maximum latency: 2237 usec, Minimum Latency: 5 usec, Avg Latency: 96 usec
and, results from benchSD.ino
Code:
File size 5MB
Buffer size 100 bytes
Starting write test. Please wait up to a minute
Write 258.42 KB/sec
Maximum latency: 191140 usec, Minimum Latency: 9 usec, Avg Latency: 386 usec
Starting read test. Please wait up to a minute
Read 883.55 KB/sec
Maximum latency: 1668 usec, Minimum Latency: 9 usec, Avg Latency: 112 usec
That is pretty good speed. What you lack though is long file-names...
Does it also handle FAT32? Ours does...
It also tries to ensure that changes are committed to all the FAT tables. I am considering adding a way to delay the FAT table syncing in order to speed up writes.
I'm not sure exactly how the SDFat library compares with respect to data consistency, however my library modifications try to do the right thing. Even if you yank the media, you hardly ever get corruption, unless you use an AVR with expanded memory, and then it can happen because it caches...
Here is a sample benchmark. Please note that this is a work-in-progress, and there is much that could be optimized yet. It also isn't really showing any long file names, with the exception of the etc directory that is listed. They are, however, fully supported.
Code:
Removing '/1MB.bin' file... completed with 0
1MB write timing test 2048 writes, (0), (0), 7785 ms (8 sec)
completed with 0
1MB read timing test 2048 reads, (20), 2186 ms (2 sec)
completed with 0
Directory of '/'
-rw--a 1048576 2012-10-07 01:18:36 1MB.bin
-rw--a 19 2012-10-07 01:18:28 newtest.txt
drw--- 0 2014-05-10 20:11:24 ETC (etc)
1023455232 bytes available on disk.
Flushing caches...
More info here:
http://forum.pjrc.com/threads/25697...-Teensy-3-x-for-circuits-home-USB-Host-Shield
It includes a link to a video showing it operate.
Additional note:
Looked at SdFat, and I noticed that the benchmark uses 1000000 as a megabyte, not 1048576, so your bench marks are skewed to look faster than what they really are.

My benchmark shows the real numbers in any case, and just do the math to get the speed.