A Wear Leveling Refresher: How Long Will My SSD Last?

As if everything I’ve talked about thus far wasn’t enough to deal with, there’s one more major issue that directly impacts the performance of these drives: wear leveling.

Each MLC NAND cell can be erased ~10,000 times before it stops reliably holding charge. You can switch to SLC flash and up that figure to 100,000, but your cost just went up 2x. For these drives to succeed in the consumer space and do it quickly, it must be using MLC flash.


SLC (left) vs. MLC (right) flash

Ten thousand erase/write cycles isn’t much, yet SSD makers are guaranteeing their drives for anywhere from 1 - 10 years. On top of that, SSD makers across the board are calling their drives more reliable than conventional hard drives.

The only way any of this is possible is by some clever algorithms and banking on the fact that desktop users don’t do a whole lot of writing to their drives.

Think about your primary hard drive. How often do you fill it to capacity, erase and start over again? Intel estimates that even if you wrote 20GB of data to your drive per day, its X25-M would be able to last you at least 5 years. Realistically, that’s a value far higher than you’ll use consistently.

My personal desktop saw about 100GB worth of writes (whether from the OS or elsewhere) to my SSD and my data drive over the past 14 days. That’s a bit over 7GB per day of writes. Let’s do some basic math:

  My SSD
NAND Flash Capacity 256 GB
Formatted Capacity in the OS 238.15 GB
Available Space After OS and Apps 185.55 GB
Spare Area 17.85 GB

 

If I never install another application and just go about my business, my drive has 203.4GB of space to spread out those 7GB of writes per day. That means in roughly 29 days my SSD, if it wear levels perfectly, I will have written to every single available flash block on my drive. Tack on another 7 days if the drive is smart enough to move my static data around to wear level even more properly. So we’re at approximately 36 days before I exhaust one out of my ~10,000 write cycles. Multiply that out and it would take 360,000 days of using my machine the way I have been for the past two weeks for all of my NAND to wear out; once again, assuming perfect wear leveling. That’s 986 years. Your NAND flash cells will actually lose their charge well before that time comes, in about 10 years.

This assumes a perfectly wear leveled drive, but as you can already guess - that’s not exactly possible.

Write amplification ensures that while my OS may be writing 7GB per day to my drive, the drive itself is writing more than 7GB to its flash. Remember, writing to a full block will require a read-modify-write. Worst case scenario, I go to write 4KB and my SSD controller has to read 512KB, modify 4KB, write 512KB and erase a whole block. While I should’ve only taken up one write cycle for 2048 MLC NAND flash cells, I will have instead knocked off a single write cycle for 262,144 cells.

You can optimize strictly for wear leveling, but that comes at the expense of performance.

Why SSDs Care About What You Write: Fragmentation & Write Combining Why Does My 80GB Drive Appear as 74.5GB? Understanding Spare Area
Comments Locked

295 Comments

View All Comments

  • Anand Lal Shimpi - Monday, August 31, 2009 - link

    The tables the drive needs to operate are also stored in a small amount of flash on the drive. The start of the circular logic happens in firmware which points to the initial flash locations, which then tells the controller how to map LBAs to flash pages.

    Take care,
    Anand
  • Bakkone - Monday, August 31, 2009 - link

    Any gossip about the new SATA?
  • Zaitsev - Monday, August 31, 2009 - link

    Thanks for the great article, Anand! It's been quite entertaining thus far.
  • cosmotic - Monday, August 31, 2009 - link

    The page about sizes (GB, GiB, spare areas, etc) is very confusing. It sounds very much like you are confusing the 'missing' space when converting from GB to GiB with the space the drive is using for its spare area.

    Is it the case that the drive has 80GiB internally, uses 5.5GiB for spare, and reports it's size as 80GB to the OS leaving the OS to say 74.5GiB as usable?
  • Anand Lal Shimpi - Monday, August 31, 2009 - link

    I tried to keep it simply by not introducing the Gibibyte but I see that I failed there :)

    You are correct, the drive has 80GiB internally, uses 5.5GiB for spare and reports that it has 156,301,488 sectors (or 74.5GiB) of user addressable space.

    Take care,
    Anand
  • sprockkets - Tuesday, September 1, 2009 - link

    Weird. So what you are saying is, the drive has 80Gib capacity, but then reports it has 80GB to the OS, advertised as having an 80GB capacity, which the OS then says the capacity is 74.5GiB?
  • sprockkets - Tuesday, September 1, 2009 - link

    As a quick followup, this whole SI vs binary thing needs to be clarified using the proper terms, as people like Microsoft and others have been saying GB when it really is GiB (or was the GiB term invented later?)

    For those who want a quick way to convert:

    http://converter.50webs.com">http://converter.50webs.com
  • ilkhan - Monday, August 31, 2009 - link

    so they are artifically bringing the capacity down, because the drive has the full advertised capacity and is getting the "normal" real capacity. :argh:
  • Vozer - Monday, August 31, 2009 - link

    I tried looking for the answer, but haven't found it anywhere so here it is: There are 10 flash memory blocks on both Intel 160GB and 80GB X25-M G2, right? (and 20 blocks with the G1).

    So, is the 80GB version actually a 160GB with some bad blocks or do they actually produce two different kind of flash memory block to use on their drives?
  • Anand Lal Shimpi - Monday, August 31, 2009 - link

    While I haven't cracked open the 80GB G2 I have here, I don't believe the drives are binned for capacity. The 80GB model should have 10 x 8GB NAND flash devices on it, while the 160GB model should have 10 x 16GB NAND flash devices.

    Take care,
    Ananad

Log in

Don't have an account? Sign up now