- Joined
- Jan 27, 2011
- Location
- Beautiful Sunny Winfield
Hi folks,
I've been fooling around with the Raspberry Pi which normally runs from an SD card. It can also run from a USB flash drive (but still needs to boot from the SD card.) The SD card also resides on the USB bus. I've been benchmarking both USB flash drives and microSD cards trying to make sure I have something optimal installed (w/out paying a premium for the fastest USB drives. ) One I'm testing now is the Sandisk Ultra Fit 16GB because it's very low profile, reasonable inexpensive and supposedly fast. (The 64GB version is a lot faster. That's no surprise and not totally relevant to this story.)
One of the benchmarks I've tried is part of the gnome-disk program ('Disks' in the menu.) Yes, Linux because I run Linux and so does the Pi and for that reason it seems particularly appropriate.
I often rerun benchmarks to test repeatability and the results here are astonishingly different. Here is the result of the first run on a new stick.
I presume the bump for write speed the first 8% or so is a result of the drive having some faster flash to use as a sort of cache to speed up write operations (without having to use the faster flash for the entire 16GB.)
Repeating the test gets the following result.
No bump and read speed is about double! This leaves me wondering why. Is it a bug in the benchmark? Is it a characteristic of the USB internal operation that conflicts with the benchmark operation? I've tested several of these drives and they all do this. I don't recall seeing a similar pattern with other USB flash drives. (The difference between the two, several of them have demonstrated the initial bump in write speed.)
I'm also left wondering about the initial write speed bump. Once the apparent cache is filled, how does it work? Is data written to the cache and then copied to main storage? With the cache filled, do writes go straight to the main storage? I left the drive powered but otherwise unused (unmounted) to see if it would eventually flush the cache and regain that initial bump. Results for the third run (nearly 4 hours later) were virtually identical to the second run so it seems that the cache is not flushed.
I'm curious if anyone here has any more insight into internal USB flash operation and has any insight into what's happening here.
Thanks!
I've been fooling around with the Raspberry Pi which normally runs from an SD card. It can also run from a USB flash drive (but still needs to boot from the SD card.) The SD card also resides on the USB bus. I've been benchmarking both USB flash drives and microSD cards trying to make sure I have something optimal installed (w/out paying a premium for the fastest USB drives. ) One I'm testing now is the Sandisk Ultra Fit 16GB because it's very low profile, reasonable inexpensive and supposedly fast. (The 64GB version is a lot faster. That's no surprise and not totally relevant to this story.)
One of the benchmarks I've tried is part of the gnome-disk program ('Disks' in the menu.) Yes, Linux because I run Linux and so does the Pi and for that reason it seems particularly appropriate.
I often rerun benchmarks to test repeatability and the results here are astonishingly different. Here is the result of the first run on a new stick.
I presume the bump for write speed the first 8% or so is a result of the drive having some faster flash to use as a sort of cache to speed up write operations (without having to use the faster flash for the entire 16GB.)
Repeating the test gets the following result.
No bump and read speed is about double! This leaves me wondering why. Is it a bug in the benchmark? Is it a characteristic of the USB internal operation that conflicts with the benchmark operation? I've tested several of these drives and they all do this. I don't recall seeing a similar pattern with other USB flash drives. (The difference between the two, several of them have demonstrated the initial bump in write speed.)
I'm also left wondering about the initial write speed bump. Once the apparent cache is filled, how does it work? Is data written to the cache and then copied to main storage? With the cache filled, do writes go straight to the main storage? I left the drive powered but otherwise unused (unmounted) to see if it would eventually flush the cache and regain that initial bump. Results for the third run (nearly 4 hours later) were virtually identical to the second run so it seems that the cache is not flushed.
I'm curious if anyone here has any more insight into internal USB flash operation and has any insight into what's happening here.
Thanks!