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."
Looks like the Flash isn't as speedy as we thought. :/
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.
It would be nice if it were faster. I backed up and downloaded the pictures off my iPhone to my computer today. How long did it take? 3 hours.
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
Absolutely. From Droids to Black Berry phones, I've long suspected faulty storage. When a phone become non-reponsive because you received or opened an email or installed a new app, chances are the pending writes are not going through like they should. Same goes for browsing the web. History and cache are constantly being read and written back to the phone. If the problem is with the storage, that too will effect performance and stability with shoddy flash memory.
Life is not for the lazy.
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.
I don't doubt that NAND flash slows the theroretical performance of of my iPhone. Indeed their efforts seem to be soundly arguing that there is a memory bottleneck on my phone. Still, when my connectivity via 3G AT&T is marginally better then a satellite connection, and is decimated by AT&T's home broadband via wifi (or COX cable via wifi); it is obvious my true bottleneck is AT&T's failure to upgrade their wireless network. Please do not allow this as an arguement in court for anyone sueing AT&T for their failure to provide adequate service.
Thank you,
Nexion
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
So the reason all my web pages load slowly on sprint 3g is because...the web browser uses flash???
Well now I feel stupid for thinking it was the ~60kbit data network rate that it's pulling...
Things would have been a lot less tense if he had clarified.
Can anyone explain why it is that my desktop PC with 6 gb of ram and a 1 tb hard drive can actually CLOSE a program when I exit it but my smartphone with a 1ghz processor and 1 gb of ram for memory and storage total keeps every damn program running forever?
Who's idiot idea was this anyways?
using SQLITE for every operation is for sure convenient, but is it efficient? I have seen weird performance issues when in principle small data structures maintained using sqlite exceeded certain bounds.
It is the task of the programmer to distiguish between data which should be kept in ram and data which can be written to flash.
1) This isn't about "smartphones," it's about Android devices. On iOS devices, there's just one big chunk of flash storage; the user can't install an SD card.
2) Battery life, network latency, and network reliability are much bigger factors in poor user experiences.
3) On iOS, not only does Core Data (which uses SQLite) aggressively keep data in RAM, as of iOS 5, it can easily be used to do non-blocking, asynchronous reading and writing to disk with UIManagedDocument.
the sky is blue. Anyone with a rudimentary knowledge of computing already knows this.
I remember with the old versions of windows CE it was basically like knoppix with a fused file system to ram. If the devices battery died or the OS crashed all of your data went with it. They had a separate backup battery but obviously this didn't stop your data from disappearing on a regular basis. One thing I loved about the platform between XIP and your data in ram all file operations at least were instantaneous no delay and no worries about burnt out flash.
Given the capabilities of modern hardware it is a bit sad to see quite a bit of capability wasted due to laziness all-around. Caches, ram disks..etc help but really are not the answer. The applications data tier need to be smart enough to at least minimize random writes even if that means giving up some level of reliability in persistant storage. Browsers will still work just fine if the device crashes in the middle of setting a cookie. Make it part of the platform/APIs so developers have access to the best tradeoffs.
At some point in the future your legislation would be a good thing but for now the only reason AT&T has dumped ~$10B into upgrading their network in the last 6 months to a year is because there are people willing to pay the $80/month.
Once we hit LTE-Advanced (1gbit/s from tower to stationary devices...shared between all devices but 1gbit/s between 250 devices is still 4mbit/s which is plenty fast for even HD netflix) we'll see the return of unlimited data, until then these $80-100 plans are financing the rapid progression towards this cellular singularity.
Well, I just tested my class10 microSD and it has 45 IOPS !! Lucky me, I bought a class4 microSD which has 1800 IOPS and boy, can I feel the difference. PS: My disk has 200 and my SSD has 14000 iops.