How SSDs Work

The building block of NAND flash is the N-channel MOSFET:

Each "cell" is made up of one of these transistors. In a single-level cell (SLC) flash device, one of these transistors can hold 1-bit of data. You write data to the cell by electron tunneling; apply a high enough voltage to the gate, create a powerful enough electric field, and electrons will tunnel through the oxide and into the floating gate. Remove the voltage and the electrons will remain in the floating gate. Apply the voltage across the channel instead of the gate, reverse the bias and the electrons will go in the other direction. Simply put, that's how flash works - you've got two states, 0 and 1, and the state is preserved even if the cell has no power, making it ideal for a storage device.

Programming flash is an iterative process. The controller will apply voltage to the gate (or the channel), allow some electrons to tunnel and check the threshold voltage of the cell. When the threshold voltage has reached some predetermined value, it’s now programmed and your data is stored.

MLC vs. SLC

There are two forms of NAND flash used in SSDs today: Single-Level Cell (SLC) and Multi-Level Cell (MLC). The difference between the two is the amount of data stored per cell, with SLC it's 1-bit per cell and with MLC it's 2-bits per cell. The key here is that both SLC and MLC take up the same amount of die area, so MLC effectively doubles your capacity at the same price.

Intel actually uses the same transistors for its SLC and MLC flash, the difference is how you read/write the two. With SLC there are only two voltages to worry about, since there are two states (0 or 1). With MLC, there are four states (00, 01, 10, 11) and thus it takes longer to access since you don't want to accidentally write the wrong bit of data; you've got the same min and max voltage, you simply have more graduations in between the two now:

SLC (left) vs. MLC (right)

Below is a table of some basic stats on SLC vs. MLC performance:

SLC NAND flash

MLC NAND flash

Random Read

25 µs

50 µs

Erase

2ms per block

2ms per block

Programming

250 µs

900 µs

Erasing performance is the same between the two, read performance takes twice as long on MLC flash and write performance can take almost four times as long. If you've ever heard people complain about MLC write speed before, this partly why. Do keep in mind though, the numbers we're talking about here are ridiculously low - even 900 µs to write to MLC flash is much faster than writing to a mechanical hard disk.

The biggest advantage of SLC ends up not being performance, but lifespan. To understand how flash wears, we first need to look at how it's organized in a storage device.

You are just making it clear that you do not have a firm grasp of English. You are afraid of those who criticize poor grammar, because you know that you yourself will be exposed for the fraudulent pustule that lies beneath your slimy veneer.

I have a life. I'm just sick of illiterate authors. Just because it is a tech site is no excuse for extremely poor writing skills. I'm talking about skills that should be completely mastered before being allowed to graduate from elementary school. Reply

I think you're being way too over critical. Maybe it's you OCD kicking in. If those incorrect commas really bothered you THAT much, then you should seek professional help. Seriously, that's not normal. Reply

"You are afraid of those who criticize poor grammar, because you know that you yourself will be exposed for the fraudulent pustule that lies beneath your slimy veneer."

"... that you yourself will be exposed ..." should, in fact, be properly punctuated with commas like so: "... that you, yourself, will be exposed ..."

I agree that grammar is important. But you have to admit that screwing up on comma usage while pointing out someone screwing up on comma usage is funny.

...

Also, while it isn't an excuse, the last two days of work on this article were sleepless ... Anand wanted to get it up much sooner, and sometimes we have to make the decision to get the article out quickly rather than to send it through our managing editor.

We do always appreciate people pointing out spelling and grammar errors in our articles. We never want to over shadow the content with other issues. Reply

> "... that you yourself will be exposed ..." should,
> in fact, be properly punctuated with commas like so:
> "... that you, yourself, will be exposed ..."
>
> I agree that grammar is important. But you have to admit
> that screwing up on comma usage while pointing out someone
> screwing up on comma usage is funny.