[colug-432] SSD vs SD

Matt Simmons standalone.sysadmin at gmail.com
Sun Mar 17 09:24:03 EDT 2013


There are a lot.

First, lets talk about what they have in common.

Both use flash memory.

OK, now lets talk about the differences.

A MicroD card (or a USB thumb drive) have either a single flash chip
on them, or a very small number of flash chips, probably not more than
two. This is for a few reasons. 1) cost. More flash chips are
obviously more expensive. 2) Controller complexity. Both the size and
the cost need to be kept to a minimum. This means that the controllers
talking to these chips are kept as simple as possible. More chips
means more complexity and more physical size in many cases. So smaller
is better all the way around.

An SSD, however, doesn't have size as much of a physical constraint
(at least comparatively). Also, cost becomes less important than other
factors like performance, capacity, longevity, and so on. What you end
up with is a device in the disk drive form factor that is actually
very powerful.

An SSD controller is very fast - the processors are up to 800mhz (and
probably above in some models by now), and in the case of enterprise
SSDs, have multiple cores.

They also use an array of flash chips, several per bus, with multiple
busses. Each individual flash chip isn't actually that fast. What
makes an SSD incredibly fast is that the controller stripes reads and
writes across its busses, and across all of the chips in its busses, a
little bit like RAID-0, effectively. By spreading the reads and writes
across a large number of chips, you can increase performance. This is
why you can compare datasheets of the same line of drives, and often
you'll find that the larger capacity SSDs are rated faster than the
lower capacity models. They have more physical chips to spread writes
across.

Also, many of the advanced features available over the SATA/SAS
protocols aren't available to USB/MicroSD interfaces. Things like
TRIM, which allows the drive to know which blocks aren't in use. It's
a common mistake to think that TRIM actually frees up blocks in SSDS -
what TRIM actually does is marks blocks as unused so that Garbage
Collection (GC) can come through later (at a presumably not-busy time)
and clean up the blocks marked as deleted. USB/MicroSD cards don't do
GC either.

MicroSD and USB devices also don't have any kind of battery backing.
If you were to pull out a card without unmounting it, the writes have
the potential to be lost. If you were writing a file, it's maybe not a
big deal, depending on what filesystem you were writing (because the
filesystem might be able to clean up after itself if it's journaled)
but if you're writing filesystem metadata? Hard to tell. SSDs
(especially enterprise SSDs) have either batteries (or more likely
supercapacitors)  that can power the flash chips for long enough to
guarantee writes. This way if the power goes out to the server or
array the drive is in, the writes are guaranteed.

Another big factor is data retention.The underlying way that flash
memory writes is essentially to put an electrical charge into a small
deposit of doped silicon. Over time (months typically), if left
unrefreshed, that electrical charge will dissipate and the controller
won't be able to determine whether the bit is a one or a zero. For
this reason, SSD controllers periodically go through the old data and
"scrub" it, refreshing the electrical charge. This is really hard to
do if the flash chip is on a USB keychain in your backpack.

As far as your question about write lifetime, the write lifetime is
related to the number of times a particular "cell" of data is written
to. That might sound obvious, but it implies a lot of things. First,
how many bits are stored in each cell? You may have heard of SLC and
MLC - single layer cells and multi-layer cells. These refer to how
many "bits" each individual doped cell hold (the same small area of
doped silicon in the previous paragraph). SLC has one, MLC has two.
Some new flash chips are TLC - three layer cells (and those aren't
even just used for cheap things like USB sticks - My Samsung 840 uses
TLC (the 840 Pro uses MLC)). The big differences are in terms of wear
leveling.

Wear leveling is (as you probably know), spreading writes across
several areas, so that one set of bits doesn't get wore down and
become unable to be read. This kind of physical damage happens over
thousands and thousands of writes, but sometimes computers need to
write a lot. So to prevent this, the write are spread over as many
chips as possible (remember the performance gains up above?). And the
USB / MicroSD cards only have one or two chips...so there's not much
wear leveling possible. Fortunately, you're not actually writing all
that much to one of these devices. Probably, anyway. I suppose if you
ran a VM from a USB stick, it would write enough to eventually cause
problems. You're much more likely to break the stick physically than
to run into a flash write limit. At least, that's been my experience.

There are some other differences, too, but this is getting really
long, and I've covered the major stuff.  To sum it up, there are very
significant differences, and the SSD isn't just an expensive group of
thumb drives taped together :-)

If you have any further questions, I'd be happy to explain anything
else I know.

--Matt



On Sun, Mar 17, 2013 at 8:27 AM, Scott Merrill <skippy at skippy.net> wrote:
> Aside from form factor, what differences exist between an external SSD
> drive and a MicroSD card?
>
> USB 3 for an SSD drive may introduce speed differences.
> SSD drives likely draw more power.
>
> Is there a meaningful difference in the expected life of each medium?
> Is there a meaningful difference in the wear leveling technology
> applied to each?
>
> What other differences may exist?
>
> Thanks!
> _______________________________________________
> colug-432 mailing list
> colug-432 at colug.net
> http://lists.colug.net/mailman/listinfo/colug-432



-- 
LITTLE GIRL: But which cookie will you eat FIRST?
COOKIE MONSTER: Me think you have misconception of cookie-eating process.


More information about the colug-432 mailing list