Which SSD should I use in my Web Server
Posted on Dec 30, 2012 by
Paul WhiteI am currently building a new Server for
Colocation. This time around I am going to use
SSD drives instead of the 15K
SAS drives. Even though the 15K
SAS drives have been reliable performers, the newest
SSD drives simply blow them away in terms of IO. However
SSD drives have a few issues you should be aware of. Wear Leveling! But before you decided that
SSD drives are too much risk for your server, do the math, and ask yourself, how much writing does your server really do. Before we get into determining which
SSD drive is a good fit for our server, a little background on
SSD drives for the noobies.
What are SSD drives?
SSD drives use
flash memory instead of a magnetic platter to store data. The down side to this is
flash memory has a limited number of writes they can handle before they go bad.
Flash Memory is used in lots of various devices. The most famous of these is the USB
flash drive. Any tech guy usually has at least a few of these laying around. First you should be aware that all
flash memory is not equal. So first I will explain the various types of
flash memory.
SLC - Single Level Cell
These can store a single bit of information, however they only last for about 100,000 writes. These used to be the primary type of
Flash Memory used in SSDs and especially Enterprise Level SSDs. But they are expensive in terms of how much space they take and how much data they store. Which is why most of the industry has migrated to MLC.
MLC - Multi Level Cell
These can store 2 bits of information, and last for about 3,000 - 5,000 writes. These are the most widely used type of
Flash Memory in SSDs ( as of today ).
TLC - Triple level Cell
These can store 3 bits of information, and last for about 1,000 writes. These are the latest type of
Flash Memory which will allow for even higher capacity SSDs to be manufactured. These are also used in devices in which will have a limited number of writes ( USB drives, Memory cards )
What is wear leveling?
Since data is constantly being written and deleted from drives, its important that all cells get an even number of writes. You don't want 1 group of cells to be hammered with writes causing them to go bad prematurely.
SSD Controllers have complex algorithms to ensure that the writes are spread evenly throughout the drive. They even usually contain some spare
flash cells as a reserve. So if you buy a 120 GB
Flash drive, it might actually contain 160 GB with 40 GB designed as a buffer.
SSD drives also will move data around the drive to ensure that 1 group of Blocks does have data camping out on it for extended periods of time. This helps to ensure all blocks are getting written to evenly. The algorithms used by each manufacturer is different, though they all have the same goal in mind. Sometimes there will be firmware updates for
SSD drives that will improve the reliability and performance of the drive.
So how long will an SSD last in my server?
This depends on what your server does. If you have a heavy database server that is setup for transactional logging, then you might wear out your
SSD sooner than later. But if you are mostly reading data, then they can last for many years if not decades. What you need to determine is how much data is written to an
SSD within a 24 hour period. For example I calculated my server writes about 10 GB per day ( That is a high estimate ). With perfect wear leveling writing on a 500 GB
SSD drive this means I will write my entire drive within 50 days. That times 1000 writes per cell is 50000 days or 136 Years. This means I could easily get away with putting Samsung 840
SSD drives into my server without worrying about wearing out my drives prematurely. The only point at which I would worry about wearing out my drive is if I was doing 1 TB of writes per day. At that point I would wear out my drive in about 1.3 Years. If this is you then you might want to use Samsung 840 Pros, which are supposed to last 3000 writes per cell, or even get their pricey enterprise
models.
Speed vs IO
Read speed, write speed and IO are very different. Read and Write speed is how fast a drive can read or write a single file to the drive. This is useful when doing operations like Video Editing, or migrating large files, but if you are running a web server, your operations do not reflect a drag race with Gigabyte sized files. They are made up of thousands of small read and writes. The ability to read one small file then read another small file in quick succession is how IO is measured.
With traditional harddrives you increased speed and IO by spinning the disc faster, limiting the travel of your heads, and running maintainence on your drives ( defrag ), to ensure your heads don't have to move around to grab various fragments of a file. Since
hard drives are a mechanical device, they suffer from latency. This latency can vary from 4ms, to 16ms+ depending on the speed and type of drive. So when you ask the hard drive to retrieve a file, it has to read the location of the file from its Tables, then move the arm with the head into position to read the file. This latency is ultimately responsible for the poor IO suffered by
hard drives.
SSD IO is measured by how fast it can process 4KB files. The latest generation of
SSD drives can push 100,000 IO / second. This means they can read 100,000 4K sized files in 1 second. Compare this to a
SAS hard drive which might have been capable of 400 IO and you see the difference. Even though SSDs are both good at High Speed Reads and Writes. Their real power is in their IO.
Which brand of SSD should I use.
There are many brand out there. I have only tried a few and had great experiences. If you read online you might find people trashing various
brands and
models of
SSD. If you want to go with the
SSD drives with the least amount of consumers bitching, and best track record you want to go with Samsung
SSD drives. They might cost a little more, but they are reliable.
Why Samsung SSD drives?
Unlike most other
manufacturers Samsung is not dependent on third party vendors for its components. Samsung makes their own
Flash Memory, and Memory controllers. So when you buy a Samsung
SSD, everything under the hood is made by Samsung.
What companies make Flash memory?
Flash memory is practically a commodity these days with only a few companies that manufacture the stuff.
The following are the current companies producing
Flash Memory. Intel, Micron Technology, Samsung, SanDisk, SK hynix, Toshiba.
What companies make Memory Controllers?
There are roughly about a dozen companies that make
Flash Memory Controllers for
SSD drives. These include Fusion-io, Indilinx, Intel, JMicron, Marvell, Phison, Samsung, Sandforce, STEC, Hyperstone.
What companies make SSD drives?
Wikipedia has put together a
very nice list. Its interesting to see how many companies are making SSDs. Its important to note that most companies are buying their
Flash Memory and Memory Controllers from a third party and then adding their own software, and
marketing. This doesn't mean other
SSD drives are crap, but it does mean they have less control over their products than a company like Samsung or Intel.
Ok so I want a Samsung SSD for my server, which one do I need?
I have put together a chart comparing the current
SSD drive offerings by Samsung.
Visual
| | | | | |
Model
| 830
| 840
| 840 Pro
| SM843
| SM1625
|
Launch Date
| Aug 2011
| Oct 2012
| Oct 2012
| Oct 2012
| Oct 2012
|
Street Price Per GB (250) | $0.66 | $0.64 | $0.89 | NA | NA |
Form Factor
| 2.5"
| 2.5"
| 2.5"
| 2.5"
| 2.5"
|
Host Interface
| SATA 3.0 6Gb/s | SATA 3.0 6Gb/s | SATA 3.0 6Gb/s | SATA 3.0 6Gb/s
| SAS 2.0 6Gb/s
|
Flash Memory Type
| 27 nm MLC
| 21 nm TLC
| 21 nm MLC
| 20 nm MLC | 20 nm MLC |
Capacities Available
| 64GB 128GB 256GB 512GB
| 120GB 250GB 500GB | 128GB 256GB 512GB
| 120GB 240GB 480GB
| 100GB 200GB 400GB 800GB
|
Power Active
| 0.12W
| 0.071W
| 0.069W
| 3.4W
| 9W
|
Power Idle
| 0.08W
| 0.046W
| 0.054W
| 0.3W
| 4W
|
Write Endurance
| 60 TB
| 275 TB
| 272 TB
| 1 PB
| 10 PB
|
Cache power protection
| None | None | None | None
| Super Capacitors
|
Sequential Read Speed
| 520 MB/s
| 540 MB/s
| 540 MB/s
| 520 MB/s
| 900 MB/s
|
Sequential Write Speed
| 400 MB/s
| 250 MB/s
| 520 MB/s
| 410 MB/s
| 740 MB/s
|
Random IOPs Read
| 80,000
| 96,000
| 100,000
| 70,000
| 101,500
|
Random IOPs Write
| 36,000
| 62,000
| 90,000
| 11,500
| 23,500
|
Enterprise vs Consumer SSDs
You would think that since you are installing this drive into a server that you would need an enterprise grade
SSD. But that is not the case. Pricing for the Enterprise grade offerings from Samsung were not available at the time of this writing, and I suspect they are only available via Quote from a known
business customer. However you can be assured they are much higher than the 840 Pros. What do you get with Enterprise grade? You basically get much higher write endurance, and with the SM1625 you get to take advantage of Dual port
SAS, and Super Capacitors. Dual port
SAS allow 2
SAS ports to connect to the device at once, so that in case 1 port fails the drive can continue to operate off the good port. The Super Capacitors store enough juice so that if the server were to suddenly loose power the drive can finish writing the data that was in its buffer, else this data could be lost. If you run a hot server, with all drives pushed to the max 24/7 these super capacitors could save the day. If you are running an average server you can probably live without Super Capacitors, even though they don't hurt.
What am I going to go with?
The Cost savings of the regular Samsung 840 are appealing to me. As of right now I am leaning towards those.
Discussion
No Comments have been submitted