4

I understand that read/write speeds are dependent on what the phone is, and what the SD card is, but since both are flash memory, I thought the read/write times would pretty much be around the same. I also understand from this question, why it's safer to keep apps on the internal storage: internal memory Vs SD card

But then I learned that “Flash memory speed is not tied to a maximum data transfer speed like USB standards.” source, which I guess is something I should have guessed from just knowing how the read/write speeds vary wildly across from devices. From reading a lot of other material online, I have also learned that apps generally run better from internal storage than from SD cards, except for cases where the SD card I/O speed is better than the phones'. However, looking at this article, it seems most of the phones' write speeds are slower than a Class 10 SD card's minimum write speed, and I couldn't find minimum read speeds for SD cards, so couldn't compare those, so I'm wondering why everyone's benchmark tests showed wild differences between the 2. My question is, in general cases with modern phones, is reading and writing files and media (not Apps) to internal phone storage faster than to an SD card?

On a thread on [XDA forums][3], I saw that rooting a phone allows one to increase the read/write speeds of a phone to an SD card. What happens to the phone that allows the jump in read/write speeds?

4

I understand that read/write speeds are dependent on what the phone is, and what the SD card is, but since both are flash memory, I thought the read/write times would pretty much be around the same.

That is a wrong assumption. While they're all flash technology, there's a very wide certain in the speed of the storage. A Class 2 SD Card has a minimum read/write speed of just a paltry 2MB/s, while an Ultra High Speed card can perform at 30MB/s.

With a suitable device that has a suitable high speed SD Card bus, it's possible that SD Card can be faster than the internal storage. This is usually not the case, as many people just buy a standard 2MB/s SD Card, as they're a lot cheaper and most consumers don't need the ultra high speed storages.

Another confounding problem is the kind of workload that a storage is optimized for. One fellow Stack Exchange measured the performance of his Galaxy S2 internal storage vs the external SD Card that he happens to have. What he found is that the internal storage is very fast at read speeds, close to an Ultra High Speed 3 Class card at 33MB/s read, but only manage a paltry 5 MB/s write speed; while his external SD Card are more balanced, at 11 MB/s read but 8 MB/s write.

What that shows is that if that device had been judged under SD Card Speed Class criteria, the internal storage would've been put up as a lower class storage than the external storage. However given that one of the most important work load of the internal storage is loading application to memory, the massive read speed of the internal storage is probably going to give it a real world edge at application loading speed.

On a thread on [XDA forums][3], I saw that rooting a phone allows one to increase the read/write speeds of a phone to an SD card. What happens to the phone that allows the jump in read/write speeds?

What happens is a lot of voodoo with an occasional grain of truth. People have been reporting increased speed when none exists all the time. Storage speeds do not just jump up because you are rooted.

Occasionally, manufacturers may ships the device with underoptimized drivers, and third party tweakers developed an improved driver that are better optimized than the one that ships with the device. Installing custom driver is only possible if you are rooted or if you are flashing custom ROM. It's not the rooting process itself that improves speed, but what you can do with the root power that may give you a boost.

More often though, what happens is that most major optimizations doesn't come free. What you gain in storage speed optimizations, you may lose in battery usage or storage lifetime. Manufacturers almost always optimize for the general case, and optimizing for the general case means trade offs that doesn't necessarily apply to your particular situation. For example, if you're the type to get a new device every six months, it doesn't make sense to optimize for storage longevity, so you might want to trade off using storage more aggressively to increase write speed in a way that reduces its overall life; another possibility is that you may have a good backup plans or do not store important data on device, so you may be willing to trade having the risk of a small chance of fatal data losses for a large speed boost.

  • What do the custom ROMs do that improves the speed? They optimize/replace drivers? So, an SD card has x read speed. But due to under-optimized drivers, it's only able to use a fraction of the maximum read speed, x/y. Optimizing the drivers allows the y to decrease. Is this scenario correct in what happens when one increase the speeds after rooting? – Abdul Jun 22 '15 at 15:12
  • And I detract from your 3rd and 4th paragraphs (not including my quotes), that comparing superiority of the storage devices is based on situation, since the need can be different, as something might need high write speeds, whereas something else would need high read speed. Lastly, since most of the time, it is reading that is done, generally whichever storage device has marginally higher reading speeds is better. Is my understanding correct? – Abdul Jun 22 '15 at 15:17
  • @Abdul: Yes, there are thousands of knobs and toggles to tweak just on the Linux kernel and the device drivers that tweakers can configure without writing a single line of code. When you actually include modifying the code, the tweaks becomes a lot more complex. However, unless the manufacturers are really crappy, free boosts are very rare or are usually marginal. Most of the time, you will just be trading different trade offs. – Lie Ryan Jun 22 '15 at 15:32
  • Don't forget caching plays a good role here (read-ahead as well has write-behind – these are the settings mostly tweaked). Anyway: This is rather an Android independent question, apart from the settings. The real read/write speed of the hardware doesn't change unless you get a faster card/better controller or, in terms of software, a better (optimized) "driver" ;) – Izzy Jun 22 '15 at 15:59

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.