-
Notifications
You must be signed in to change notification settings - Fork 104
SD vs ExFat - Raw Logging Tests #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Excellent work @adamgarbo - sincere thanks, |
Hi @PaulZC, Can you remind me how the periodic write error manifested itself (i.e. how did you reliably identify it?). Cheers, |
@nseidle found that when logging data on the OLA using SdFat BETA, it would rarely and randomly throw an error and the SD writing would stall. IIRC, it was rare and very difficult to capture, but bad enough to make him switch back to 'standard' SdFat. |
Hi @PaulZC, See below for results of a 24-hour test using v2.0.4 of SdFat, the Do you have any requests for specific receiver/logging configurations that I can test? Cheers, |
Nice one @adamgarbo - thank you! |
Hi @PaulZC, No dice on the 20 Hz GPS test, I'm afraid! From a cold start, it took about 30 seconds before there was a buffer overflow. The three numbers you see below are: microSD write time (μs), bytes written and max buffer size. I haven't delved into the library yet, but do you reckon this caused by simply too much I2C traffic? Cheers,
|
Humm. That is 'unfortunate'... I was expecting SdFat to be able to cope - given the success we've had with the OLA GNSS Logger. |
Hi @PaulZC, Is there still interest in benchmarking the write latencies of SdFat exFAT vs FAT32? There's been a few updates of SdFat since this issue was opened. I'd be curious to see if there have been any performance improvements. Cheers, |
Hi Adam (@adamgarbo ), This issue is pretty old - and possibly stale - but I'm happy to leave it open. This is still something I'd like to "get around to" - but I have a ton of other stuff to do first... I do have secret plans to try and write a dual-SPI-bus example: streaming data from a ZED-F9n to microSD using two separate SPI busses for maximum throughput. I think ESP32 (SparkFun Thing Plus C) could do it, and it should provide a very significant increase in throughput, but I don't have time to do it right now... Humm. I think I'll open a "help wanted" issue and see if anyone fancies having a go. All the best, |
Hi Adam (@adamgarbo ), It's clear that for logging at (very) high data rates, full 4-bit SDIO is the way forward. OpenLog ESP32 is able to log at close to 1MByte/sec using SD_MMC, writing to a cheap 1GB SD card. I've left myself a note to write an SPI to SDIO logger example for OpenLog ESP32 ( #105 ). Closing in favour of #105... After only ~20 months! ;-) All the best, |
Hi @PaulZC,
I thought I'd create an issue where I can share some of the results of my ongoing tests of the new u-blox library.
My first goal was to determine what kind of performance gains can be achieved using the ExFat classes of v2.0 of the SdFat library. Having read that 7 Hz appeared to be the upper limit for the SD library, I thought I'd start at 10 Hz. While the results below were only for a short period of time, they were quite telling!
Test Configuration:
Components
ZED-F9P Configuration:
SD Test Configuration:
ExFat Test Configuration:
Results:
Figure 1. Max buffer size over time
Figure 2. SD write latencies
Conclusion & Next Steps:
Cheers,
Adam
The text was updated successfully, but these errors were encountered: