Flash Memory, Not Networks, Hamper Smartphones Most
Lucas123 writes "New research shows that far more than wireless network or CPUs, the NAND flash memory in cell phones, and in particular smartphones, affects the device's performance when it comes to loading apps, surfing the web and loading and reading documents. In tests with top-selling 16GB smartphones, NAND flash memory slowed mobile app performance from two to three times with one exception, Kingston's embedded memory card; that card slowed app performance 20X. At the bottom of the bottleneck is the fact that while network and CPUs speeds have kept pace with mobile app development, flash throughput hasn't. The researchers from Georgia Tech and NEC Corp. are working on methods to improve flash performance (PDF), including using a PRAM buffer to stage writes or be used as the final location for the SQLite databases."
writing smaller applications? Maybe, you know, stick to one thing and master it instead of spewing forth so many OSes, languages and nonsense that there's no hope of reigning in the software chaos? But don't worry, the hardware folks will pull a rabbit out of their hats (again), so that software geeks never, ever have to learn or change.
Users don't have the option of trading network performance for faster local storage. The two are so unrelated it's not clear as to why we're comparing them (I'd use the term "apples and oranges" but I'm sure that would piss off some anti-Apple trolls.)
And sure, SSDs could be faster, believe me nobody would complain if they were. But after using spinning magnetic storage for decades, SSDs seem blisteringly fast to me.
There's no -1 for "I don't get it."
Why not have the phone offload all the info to a ramdrive and occasionally backup the info to the ssd?
Phones could be blisteringly fast if they used ram this way.
While I sympathize with developers who have ambitious ideas, the bottom line is that you have to develop within the limitations of the hardware. If your software is too slow or otherwise suffers in performance, then your software is simply too slow.
Cue stories about how RAM chips were too slow to keep up with cutting-edge video controllers in the 90's.
so you want a phone to have 4-32GB RAM disk + say 256-512MB + system ram
Reliable, fast, energy efficient. Choose two.
Flash memory may be responsible for slowing things down, but you can't slow it down if you don't have it.
I would kill for a happy medium between $35 for unlimited data that barely works (Virgin) and $80 and a first born child for 2gb/month for decent coverage (Verizon, AT&T, T-Mobile...). A little legislation wouldn't be a bad thing, though I understand I might think differently if I had campaign donations to worry about.
It is nice to see that there is an actual effort to make an empirical test, but I think most techies had this figured out long ago. The simple test is boot time on the devices. A relatively small OS which typically takes 2+ minutes to cold boot, yeah sounds like a storage issue.
Fixing the issue with some form of data striping would be attractive, but chews battery for each additional chip. Some kind of balloon-able RAM buffer configuration would work nicely, where the buffer RAM was turned off when the device was not in active use or where individual modules could be brought online as needed.
Frankly, Microsoft pointed at flash as being a speed culprit early on with their requirements for WP7 phones for add-on, non-removable storage expansion micro SD cards. Sure there were a lot of people all gruff and bemoaning the double price premium for Microsoft certified micro SD cards, but it was mostly just a lack of understanding of the needs for device performance. If I recall correctly, Microsoft had somewhere around 10-12 MiB/S read and write and I/O per S requirements which put most cheap commodity flash modules out of the running. I would also guess that WP7 stripes data between the on board and add-on SD card or otherwise uses some kind of secondary caching algorithm since the micro SD cards get married to the device.
In the Android world, plenty of RAM cache hacks have been implemented, most notably some in Cyanogen and similar. Consider the technical implications of this post at XDA forums regarding I/O schedulers: http://forum.xda-developers.com/showpost.php?p=22134559&postcount=4
As an anecdote, the most frequent crashy app on my Android device is the Gallery. It tends to have all kinds of issues with the scheduler as it is reading images and creating thumbnails, likely due to flash access speeds.
Isn't this true with any computer system since the dawn of computers?
from plugging in jumper wires to transfer a program from paper to memory, to tape streamers, to magnetic disks, to flash the slowest thing for a computer is its mass storage, always has been, and will continue to be for a very long time
Reading 12 gigs of photos over high-speed USB 2.0 isn't that bad when you do it from a reasonably fast card and dedicated card reader. You can typically get 360 Mbps (of the 480 Mbps advertised), which equals 45 MB/s, or about 5 minutes, if your HD can keep up with writing that fast.
If you use your phone as a card reader, don't expect anywhere near that speed. The phones aren't optimized for that, unlike a card reader.