The modern marvel of the SSD

February 10, 2011 by . 3 comments

With the SSD’s on their way from Kingston, I decided to go a little bit more in detail on the what, why, and how’s of SSD’s. Kingston SSDNow M Series 80GB Drive SNM125-S2/80GB

SSD stands for Solid State Drive.  This "Solid State" is a term for the fact that the drives themselves do not have any mechanically moving parts.  A typical Hard Disk Drive (HDD) uses rotating disks where data is stored and read.

File:Hard disk platters and head.jpg

Before I go into the particulars of how SSD’s work and the major differences between SSDs and HDDs, I need to attribute that most of my material/knowledge comes from a summarization of Michael Schuette’s 3 part blogging of the in and outs of SSD technology.  It’s a long read, but very very worthwhile.  Please give it a look.

Part I; Part II; Part III

SSD’s uses a different technology than typical HDD’s called NAND Flash.  NAND flash uses a set of transistors setup similar to NAND gates.  Data is read through sending and measuring an electrical current through each cell.  If the current is able to flow through the cell, a logic “1” is read.  If current cannot pass then a logic “0” is read.  Each cell is by default set at a logic “1” or current flow freely.

Each cell contains basically two layers, a Top Gate, and a Floating Gate.  For data to be written/erased a high current is applied to either gate.  This is how a logical “1” or “0” is created.  Here we see a picture of the memory cell:

A high voltage is applied to the Top Gate forcing electrons into the floating gate, thus preventing further flow of electricity, creating a logic “0”.

Here we have a picture of erasing the data (logic “0” back to a logic “1”)

A high voltage is applied below the floating gate thus “erasing” the data and resetting the cell to a logic “1”.  There is a limitation however, to the erasing process.  From Michael’s blog:

There is however, no direct control logic to apply the erase voltage to a single gate, therefore, the reverse tunneling can only be applied to an entire block.

This one major limitation of the SSD technology presents some problems:

  • Only 4Kb blocks can be erased at a time.
  • Changes to data cannot be overwritten, but is rather written as “new” data
  • Blocks can (and usually do) have cells that are not used thus wasting “space”

Depending on the operating system that a SSD is being used, a way around wasted space is through usage of “cache”.  This is done by writing smaller files or fragments of larger files to a cache and then actually written to the blocks.  This helps to reduce wasted space.

Other limitations of SSD technology are:

  • Wear – only a certain amount of write/erases can be performed before data corruption
  • Longevity – SSD’s cannot be stored for significant amount of time (data will be lost through dissipation of the stored electrons)
  • After heavy usage SSD’s, will degrade over time and lose their performance

But here are the advantages of SSD’s:

So here you have it, the basics of how an SSD works!


Subscribe to comments with RSS.

  • Arjan says:

    I’ve not read all of the above, nor the linked articles. But just in case it is not mentioned: securely erasing files from SSDs is difficult. One might want to consider always using encryption on SSDs (though that has less critical flaws too*).

  • Awesome post! Thanks for the in depth info

  • JH says:

    Thank you for the post and your hard work you put in. I think you made a slight typo above – under major limitations – you said you can only delete 4kb blocks – That should be 512kb blocks – Quote – “A single NAND flash die is subdivided into blocks. The typical case these days is that each block is 512KB in size. Each block is further subdivided into pages, with the typical page size these days being 4KB.

    Now you can read and write to individual pages, so long as they are empty. However once a page has been written, it can’t be overwritten, it must be erased first before you can write to it again. And therein lies the problem, the smallest structure you can erase in a NAND flash device today is a block. Once more, you can read/write 4KB at a time, but you can only erase 512KB at a time.”

    source –

  • Comments have been closed for this post