I am running Little Black Box on a Raspberry Pi 3B+. Is there a performance benefit if using a 64 GB Micro SD card over a 16 GB Micro SD card?
The storage size doesn’t not effect the speed of the card. The speed rating of the card is printed on the card itself usually. Its a number between 1 and 10, with 10 being the fastest.
Actually I was thinking more along the lines that if the program has to copy anything out to cache…how much does it have to copy out to cache? In that case size does matter because if it runs out of room it then has to wait.
I don’t think SD cards have a dedicated, hardware cache. The operating system will have some RAM cache, and perhaps the filesystem as well.
Hint: I am a newbie in hardware. I can think of a couple of factors that may affect speed and reliability.
1 Hardware is not made equal due to tolerances, manufacturing techniques, sourcing, etc. So you can have two “identical” cards performing very different. One might even corrupt your data or have a short lifespan.
2 Don’t know if it applies to SD cards but I have read that smaller capacities can be faster for hard discs because the seek time, latency, etc., is less. There is less memory to sift through. But I doubt that 16 vs 64 will present notable differences. One way to find out: test your theories! But don’t wear them down!
Don’t know if it applies to SD cards but I have read that smaller capacities can be faster for hard discs because the seek time, latency, etc., is less.
About the opposite for SSDs. The bigger disks have more chips to spread the transfers over.
At least with silicon, the factory usually tests a product to meet certain minimum conditions reliably with some headroom. Then the product is sold as something meeting those conditions - sometimes merely with labeling, frequently the product has SOME sort of configuration data that allows it to be restricted to those operating conditions.
This is mostly seen in overclocking of products with a clock - and SD interfaces CAN sometimes be overclocked, but usually flash memory internals can’t be overclocked, and as a result, there’s usually very little variation in performance between samples of a given product… At least until it fails!
However there can be significant differences in the internal design of an SD card that can vary its performance, including block sizes. Some architectures are more suitable to certain workloads than others. In general, large sustained writes don’t have significant major differences between cards, but smaller random writes can kill performance.
Flash memory is very different. There are other factors too, such as whether the OS and reader/writer support ERASE/TRIM operations (at least for media that is being written to). While rustspinners can overwrite data of any size at will (and hence do not have any performance penalty for overwriting existing data), flash memory must be erased one block or sector at a time before it can be written to. Modern wear levellers handle this transparently to the user - if you overwrite a sector (whether entirely or partially), internally the SD will do a read/modify/write operation - with the write often being to a different physical location (so that repeated writes to a single location don’t wear out a single physical region quickly).
In the use case of Little Backup Box though, a faster SD card will at best improve bootup times. For the actual transfer operations themselves, there’s little to no I/O with the SD card itself - data read from the device being backed up will go into system RAM and then be written to the backup device. If it’s ever taking backup data and writing it to the Pi’s operating system SD there’s a pretty major architectural deficiency there. Also write performance of the bootup SD is not really relevant to this use case.
If you want a big performance boost, a Pi 4 is the answer (assuming support for it is coming soon for LBB, if it was not automatically supported from the fact that LBB installs on top of the Debian-based distro of your choice) - USB 3.0 is a MASSIVE improvement for this use case compared to USB 2.0 - USB2 is the bottleneck here.
Sorry I’m late to the party, but it seems like your question has already been answered. @Entropy512 is absolutely right. If you want to speed things up, using Raspberry Pi 4 is the way to go. Little Backup Box works fine on it. In fact, I’m already running Little Backup Box on a Raspberry Pi 4 with 2GB RAM. The only problem is that it gets pretty hot. I’m using the official Raspberry Pi case, but I’m considering switching to a case with a fan.