Why are SSDs so fast compared to raw NAND?

5

1

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.)

Leo

Posted 2012-12-20T08:32:12.297

Reputation: 487

[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 – 2012-12-20T08:44:55.120

Answers

5

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.

David Schwartz

Posted 2012-12-20T08:32:12.297

Reputation: 58 310

Ok, seems reasonable. Do you know if SSDs use faster chips as well or is the speedup entirely due to parallelization? – Leo – 2012-12-20T21:35:30.017

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 – 2012-12-20T21:43:58.453

2

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.

Gunnish

Posted 2012-12-20T08:32:12.297

Reputation: 219

You mean parallelized I believe. – Zan Lynx – 2012-12-20T18:06:44.543

@Zan Lynx Yes, that is what i meant. I'll edit it. – Gunnish – 2012-12-20T18:07:28.660