One (potential) disadvantage of solid state drives versus traditional hard disk drives is that the memory cells in SSDs are subject to physical wear. Before a cell can be written to, it needs to be erased. That can be done only so many times before the cell stops accepting a new charge. Affordable SSDs use multi-level cells (MLC) that are typically specified with a maximum PE count of 10,000. That means each cell can (in theory) be overwritten 10,000 times before it fails. Wear-leveling algorithms in the drive’s controller try to make sure that the cells are worn out evenly. If you overwite the same file over and over again, it’ll be moved around the drive so it’s not always the same cells being erased and rewritten.
SSD drives keep track of how many times each block of cells has been erased (overwritten). They report basic statistics on this via the S.M.A.R.T. parameters. You can read them with a tool such as CrystalDiskInfo. This free software is a must-have for all SSD owners.
I got my own SSD in November 2010. That means it turned 13 months this month. I blogged about my SSD drive in February.
Right now CrystalDiskInfo tells me the drive reports the following (among other less interesting statistics):
Program failure block count: 0
Erase failure block count: 0
Read failure block count: 0
Minimum erase count: 2
Maximum erase count: 112,138
Average erase count: 1,315
Remaining drive life: 87%
I’ve been checking these numbers a couple of times per month over the past year. Zero failures in programming (writing), erasing, and reading means the drive is in perfect condition. The minimum and maximum erase counts are probably quite meaningless, because they may refer to just one block. At least one block saw ten times the action that it was rated for. When the drive was new, the maximum erase count shot up from almost nothing to about 20,000 in the first month, and then shot up again to over 100,000 a months or two after that. After that the maximum count has remained unchanged.
The remaining drive life seems to be calculated directly from the average number of times each block was erased. 100% – (1,315 / 100,000) = 87%. This number has been steadily dropping by 1% each month. So my drive is going to last for a total of about 8 years.
I certainly haven’t tried to minimize the amount of data being written to the drive. I bought it for its speed and that’s what I’m using it for! At one point the drive was completely full, but now I have about 60 GB out of 256 GB free. I’ve done several complete OS restores the past year and I work quite a bit with virtual machine snapshots. I’m sure I’ve written (and overwritten) several terabytes of data to the drive already.
For a desktop drive in a developer’s workstation, SSD drive life is largely irrelevant. The drive will be obsolete before it wears out. It’s already obsolete. The link to my M255 drive on Crucial’s website results in an error page. Curcial now only sells the RealSSD C300. This drive did not exist when I bought mine. The available capacities are the same: 64, 128, and 256 GB. The prices are a bit lower: $599 for the 256 GB instead of $699. The speed, according to independent tests, is significantly higher.
Eventually I’ll replace the drive because I want a bigger and faster drive, not because it wore out. I’m not using any 8-year-old hard disk drives for the same reason.