
jules - Fotolia
How much longer will that SSD last in a vSphere server?
Even modestly sized SSDs can be more expensive than traditional hard drives, but do the benefits outweigh any concerns about longevity?
Unlike dynamic RAM memory cells, flash memory cells in solid-state drives have a finite number of write cycles -- often termed endurance or program/erase cycles because an entire block of flash memory must be erased before it is re-written. Flash reliability is improving with each new generation, but working life can still be limited. This means IT planners considering an SSD investment in their vSphere server must look at the drive product's reliability in terms of time -- the number of years the drive warranty covers -- and the volume of data written to the drive per day.
It can be a confusing distinction, and a tough specification to find. Check drive specification sheets and look for endurance entries, which are typically listed as writes per day (WPD). For example, a Samsung PM853T SSD drive lists endurance for 4 KB random WPD at 0.3 WPD for five years, while 64 KB Sequential WPD lists at 1.6 WPD for five years -- or roughly 3,000 write cycles. A common benchmark for many SSDs is 20 GB per day for five years. Neither figure seems like a lot, but it's usually not a problem for read-centric applications or workloads with light write demands.
Anecdotal experiments with consumer-grade SSDs suggest that 240-250 GB SSDs can tolerate a petabyte of writing or more, so it's really a matter of how frequently data changes. To extend flash device life, techniques like wear leveling ensure writing cycles are distributed equally across all of the memory devices so that certain blocks with more frequent changes aren't cycled excessively.
So how can you tell how much data the SSD is actually writing? You can use esxcli on the the ESXi command line to gather write information about an SSD such as:
esxcli storage core device stats get -d=device_ID
where device_ID is the same of the SSD being queried. Look for the "blocks written" entry, and figure that the size of each block is 256 bytes. Suppose you see 276,656,442 blocks written since the last uptime, and each block is 256 bytes -- or roughly 70.8 GB written -- since the last uptime .
If the last uptime was five days ago, that's roughly 14.2 GB per day which would be well within the 20 GB per day guideline for an SSD. To estimate the working life of the drive at that rate, use a simple ratio, so 20 GB to five years would be ([20 rated GB per day * 5 years] / 14.2 GB per day approximate use) or about seven years. These types of calculations may not be necessary as SSDs include firmware that identifies and relocates blocks that it cannot correct.