Which SSD should I use in my Web Server
Posted on Dec 30, 2012 by Paul White
I 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?
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
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
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
. 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?
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.
|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|
|Host Interface||SATA 3.0|
|Flash Memory Type||27 nm|
|Write Endurance||60 TB||275 TB||272 TB||1 PB||10 PB|
|Cache power protection||None||None||None||None||Super|
|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.
No Comments have been submitted