Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I used to work a bit with mobile devices containing raw NAND flash and noticed that it was pretty slow, with speeds somewhere around 7 MiB/s for sequential read and 3.5 MiB/s for sequential write. This is considerably slower than normal HDs, to say nothing of SSDs.

The fact that raw NAND is so much slower than SSDs is kind of surprising though since SSDs are (as I understand it) just raw NAND flash chips with a controller.

Why are SSDs so much faster than the raw flash chips used in mobile devices (or the eMMC that has mostly replaced it but is still way slower than SSDs)? Some possible reasons that I can think of:

  1. Cost. SSDs contain NAND chips of much higher quality than what is used in mobile devices. This seems odd since some pretty high-end devices (Nexus One for instance) used relatively slow NAND chips at a time when there were really fast SSDs available.
  2. Power usage. High performance NAND flash uses too much power to be usable on mobile devices. (I have no idea if this is actually the case.)
  3. High performance SSDs read and write from many flash chips in parallell (kind of like RAID or dual-channel memory) which gives a big speed up. This requires many flash-chips which would simply not fit in a mobile device. (Again, I have no idea if this is how it works.)
share|improve this question

migrated from stackoverflow.com Dec 20 '12 at 17:34

This question came from our site for professional and enthusiast programmers.

    
[close wrong forum] SSDs are much more complicated technical devices. They have bigger bandwith and have ICs to match that. Raw NANDs doesn't have any controller which creates a huge synchronous task for the processor driving that. Modern eMMC (probably SSDs even better) have several layers of memories inside (ram, fast small flash, slow big flash, a nice controller to manage these and interface) so they are much complicated than simple raw NAND. About usage of this chips: it is big manufacturing problem, even there are chips that are really fast there is no guarantee they are available. –  auselen Dec 20 '12 at 8:44
add comment

2 Answers

up vote 3 down vote accepted

3 is the answer. SSD controllers (and high-end USB flash drive controllers) are basically RAID controllers. This is one of the reasons that larger flash drives tend to be faster than smaller ones. Mobile devices usually don't have many flash chips and so their storage is slower.

share|improve this answer
    
Ok, seems reasonable. Do you know if SSDs use faster chips as well or is the speedup entirely due to parallelization? –  Leo Dec 20 '12 at 21:35
    
High-end SSDs use faster chips as well. But it tends to be much cheaper (in terms of $/GB) to add more chips to get both more capacity and more speed than to use more expensive chips. –  David Schwartz Dec 20 '12 at 21:43
add comment

The writing to the NAND-chips is parallelized, meaning that you are writing to say 20 chips at a time instead of just one.

This, however, is not the complete answer as the performance with the same chips differs quite a bit with different controllers.

share|improve this answer
    
You mean parallelized I believe. –  Zan Lynx Dec 20 '12 at 18:06
    
@Zan Lynx Yes, that is what i meant. I'll edit it. –  Gunnish Dec 20 '12 at 18:07
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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