10

In my bachelor's thesis I compared the speed performance of a hard drive connected via USB adapter with a microSD card. I was challenged to answer the question "Why is the difference in speed drives and memory cards especially noticeable in longer records?". So my question is, why? Does the USB controller use the same bus as the microSD card reader, or are there other reasons for differences in performance?

After increasing the frequency of the microSD card reader, I got higher speeds than with a hard disk. So is the performance of the SD card only limited by bus speeds? I am grateful for any opinion.

enter image description here

LEGEND:

  • Sekvenčné čítanie - Sequential read
  • Sekvenčný zápis - Sequential write
  • Náhodne čítanie - Random read
  • Náhodný zápis - Random write word
  • pred means before change frequency
  • po means after change frequency
  • Can you please elaborate on what you mean when you say "longer records"? – Mohammad Ali Jun 14 '16 at 17:14
  • records with length 16MB – sunny Jun 15 '16 at 14:01
1

@Sunny to Answer your question the Pi does use a different bus for the sd card than the USB bus as evident in this answer How does Raspberry Pi boot? . Furthermore the performance of your SD card is likely to be limited by bus speed if the SD card is of high quality such as a sandisk extreme. Which is capital of speeds far greater than the Pi because it is not only a bus speed issue but also a stability issue, the Pi team chooses the bus speed that is likely to be most stable for all users, and also because the Pi is targeted at low budget consumers, the Pi must use a lower bus speed due to the fact that some SD cards will simply not run at higher bus speeds. Furthermore the Pi's SD card bus rely's on the gpu to be an intermediary for data transfer. For these reasons you will notice that when using a USB to sd card reader that you are able to achieve the true speed of the card only limited by the USB bus max speed.

Furthermore untested, but theoretically larger files are slower to transfer to the SD card because data being written to the SD card gets buffered in the gpu so assigning the gpu more ram in the configuration, (if you don't know how to do tis google it) should theoretically increase write speeds.

Note: it's also likely that background tasks may have played a part in your testing, and you did not make it clear where you were writing to when preforming your SD card read test, or where you where writing to when preforming your USB hard drive read test, as the drive will only read as fast as the Pi will accept data, so your SD card may have been the bottle neck for your hdd testing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.