The Anatomy of an SSD

Let’s meet Mr. N-channel MOSFET again:

Say Hello

This is the building block of NAND-flash; one transistor is required per cell. A single NAND-flash cell can either store one or two bits of data. If it stores one, then it’s called a Single Level Cell (SLC) flash and if it stores two then it’s a Multi Level Cell (MLC) flash. Both are physically made the same way; in fact there’s nothing that separates MLC from SLC flash, it’s just a matter of how the data is stored in and read from the cell.


SLC flash (left) vs. MLC flash (right)

Flash is read from and written to in a guess-and-test fashion. You apply a voltage to the cell and check to see how it responds. You keep increasing the voltage until you get a result.

  SLC NAND flash MLC NAND flash
Random Read 25 µs 50 µs
Erase 2ms per block 2ms per block
Programming 250 µs 900 µs

 

With four voltage levels to check, MLC flash takes around 3x longer to write to as SLC. On the flip side you get twice the capacity at the same cost. Because of this distinction, and the fact that even MLC flash is more than fast enough for a SSD, you’ll only see MLC used for desktop SSDs while SLC is used for enterprise level server SSDs.


Cells are strung together in arrays as depicted in the image to the right

So a single cell stores either one or two bits of data, but where do we go from there? Groups of cells are organized into pages, the smallest structure that’s readable/writable in a SSD. Today 4KB pages are standard on SSDs.

Pages are grouped together into blocks; today it’s common to have 128 pages in a block (512KB in a block). A block is the smallest structure that can be erased in a NAND-flash device. So while you can read from and write to a page, you can only erase a block (128 pages at a time). This is where many of the SSD’s problems stem from, I’ll repeat this again later because it’s one of the most important parts of understanding SSDs.


Arrays of cells are grouped into a page, arrays of pages are grouped into blocks

Blocks are then grouped into planes, and you’ll find multiple planes on a single NAND-flash die.

The combining doesn’t stop there; you can usually find either one, two or four die per package. While you’ll see a single NAND-flash IC, there may actually be two or four die in that package. You can also stack multiple ICs on top of each other to minimize board real estate usage.

Hey, There’s an Elephant in the Room Strength in Numbers, What makes SSDs Fast
POST A COMMENT

243 Comments

View All Comments

  • vailr - Wednesday, March 18, 2009 - link

    Is there any benefit in using 2 SSD's in a Raid 0 configuration?
    And: any differences between motherboard Intel Raid vs. a Raid controller card from Areca, for example. Also: can the "Trim" command work while in Raid mode? Probably not, I'm guessing...
    Reply
  • 7Enigma - Thursday, March 19, 2009 - link

    Raid0 is really the holy grail for SSD's. The low risk of failure of SSD's which normally makes Raid0 with typical mechanical HD's more dangerous is very appealing. My personal storage-size goal is ~120-160gigs. Once they reach that size for under $300 I think I'm going to jump in. But I'm more likely to grab 2 60's or 2 80's and Raid0 them than get a single large SSD. The added performance will outweigh the higher power draw of 2 drives, and should make them extremely competitive with Intel's offerings (or whatever holds the crown at the time).

    I figure it will be about a year or so until the prices are in that range, as 2 60gig Vertex drives will currently run you about $400 after rebate.

    I can't wait to jump on that upgrade and will then put my current 250gig mechanical drive as the storage drive (I don't use a ton of space in general as I have a 320gig external backup).
    Reply
  • Rasterman - Thursday, March 19, 2009 - link

    The problem with doing that is if you want to move your drives to another system they won't work, so upgrading is a pain. You could image them I guess, but plugging one drive in is much simpler. I had an older XP install that made it through 3-4 different systems.

    I would also question real world results, if you're going at 250MB/s or 500MB/s its not even going to be noticeable unless you are doing some massive video editing or some other huge file operations, and as Anand says, SSDs don't fill this role right now as they are super expensive per GB. So if you really are editing video a lot, you are going to need a hell of a lot more space than SSDs can offer you.
    Reply
  • Gasaraki88 - Friday, March 20, 2009 - link

    RAID is a universal standard so if you take two RAID0 drives out and move them to another computer with a RAID controller, it SHOULD just work if the original RAID was doing it correctly. Reply
  • coil222 - Wednesday, March 18, 2009 - link

    Yes I run a pair of MTRON 7500s in a raid 0 stripe for my OS and Gaming (wow). I don't recall numbers off the top of my head but tests were better on the raid 0 than a single drive configuration.

    Watch this:
    http://www.youtube.com/watch?v=96dWOEa4Djs&fea...">http://www.youtube.com/watch?v=96dWOEa4Djs&fea...
    Reply
  • sawyeriii - Wednesday, March 18, 2009 - link

    I just wanted to state how much I loved the combination of technical and real world information in this article.

    What is the possibility of having different page sizes built into a drive? I.e. you could have a drive with many 1k page packages on one die, 2k on another, and most others 4k. Could that theoretically help? Could the controllers work with that (or would you need to combine multiple 1k's into a 4k transfer size)?

    PS One note on page 3, the VelociRaptor and Intel in the first chart (responce time) are switched, however the text is correct.
    Reply
  • StormyParis - Wednesday, March 18, 2009 - link

    the ugly truth is that an SSD won't let you do anything that you couldn't do without it, and due to its cost and small capacity, it's not a replacement drive, it's an extra drive: not less power consumption but more, not less noise but just the same. You just gain a bit of time when booting up and lauching apps... which I do about 1/week and 1/day, respectively. Assuming your system has enough RAM (and if it doesn't, buy RAM before buying an SSD !), you won't feel much difference once the apps are launched.

    For the same cost, I'd rather buy a bigger screen.

    It's urgent to wait for prices to come down. But I'm all for lots of people buying them now and help get the price down for us wiser buyers.
    Reply
  • Rasterman - Thursday, March 19, 2009 - link

    I've already decided my next system in a few months will have one, after you go through 5 hard drive failures (over several years) lets see how much your willing to pay to not have to put up with it anymore. If you use your PC for anything useful (work) then an SSD is a no brainer even at $1000/64GB IMO if the data security is there, speed is secondary for me.

    When you already have the best screen, video card, memory, why not have the best drive? And your argument is pretty dumb, almost any upgrade won't let you do anything that you couldn't do without it, not just SSDs.
    Reply
  • Calin - Wednesday, March 18, 2009 - link

    You get lower power due to the lower power use of the SSD and the fact that the other drive is not stressed with difficult access patterns (small random reads/writes). Remember that idle power of a SSD drive is very low Reply
  • 7Enigma - Wednesday, March 18, 2009 - link

    No, his comment was accurate for most users. Due to the small capacities and high cost these will be used as boot drives primarily with maybe a single heavily used program (say the current game or program you are playing/using), the rest will be on an additional drive. So while the power consumption of the SSD would be less than the old drive, the aggregate power usage of both (even when the larger storage drive is primarily at idle) will be higher than the single HD.

    And I believe you meant to say traditional HD for idle power?
    Reply

Log in

Don't have an account? Sign up now