SSD Endurance - the Big Lie

Discussion in 'Solid State Drives (SSDs) and Flash Storage' started by min2209, Nov 30, 2010.

Thread Status:
Not open for further replies.
  1. min2209

    min2209 Notebook Deity

    Reputations:
    346
    Joined:
    Nov 1, 2006
    Messages:
    1,558
    Likes Received:
    0
    Trophy Points:
    55
    Lately, I've noticed that many people seem to have a warped and exaggerated idea as to how long their SSDs will last - many proclaiming with enthusiasm that their SSD shall keep running for decades or even centuries to come.

    I decided to write a post about this. I'd like to prove false the biggest lie the manufacturers would have you believe:

    (SIZE OF SSD) * (Endurance Cycles) = Total data written to SSD before failure

    This is utterly, truly, and inexcusably FALSE.

    The problem with an SSD is, data is written in blocks. A block may be 256KB: 256 * 1000 * 8 binary digits. To change even ONE of these digits, you must rewrite the ENTIRE block. That is to say, your OS sees 1 bit being written, but the SSD wear is equivalent to 256KB being written: a 2.048 MILLION fold difference.

    The aforementioned scenario is the BEST CASE SCENARIO (and what do you think the manufacturers would have used? geez.). That ONLY occurs when you are writing data in HUGE chunks (120GB file to a 120GB SSD). In that case, yes, you will be able to write 120GB * 10000 = 1200TB data to the drive before failure.

    In real OS use, the SSD will be worn extensively by the OS. Suppose your OS writes 2GB of data to the SSD per day (a very, very, very conservative estimate). You might think that since your SSD has 120GB capacity, it should only give you 0.01667 cycles wear. That is NOT true. Many of the OS writes are tiny little operations:
    • Windows Live Messenger performs about 20,000 write operations upon log in to various logs and caches
    • Firefox performs about 10,000 writes for opening 3 web pages and one five minute youtube video
    These figures are gathered using procmon.exe released by Microsoft.

    What does this mean? It means that the little 2GB you wrote to your 120GB SSD might actually cause an increase of 3 or 4 cycles in your average SSD wear cycle count! This is hundreds, even thousands of times greater than many expect.

    All of this is based on my personal research and experience. I have a 120GB Vertex that I meticulously used. I have moved every imaginable cache and log file off the drive and onto a RAMDisk. On the other hand, another 120GB Vertex in another system with an almost identical usage profile suffered about 2x the amount of wear of mine in the same period of time. This suggests that what I am doing is making a huge difference.

    Even so, all monitoring programs (CDM, IndilinxSSDStatus, SSDLife) are reporting 120 average wear cycles from 160GB written. This once again proves my point about the real wear.

    If you have any additional info / technical data, please post it in this thread.

    Here is a most excellent read about actual SSD semiconductor technology, and wear. http://www.lostcircuits.com/mambo//index.php?option=com_content&task=view&id=69&Itemid=1

    **** Update ****

    NEM asked whether I could post a guide to relocating these folders. Here's how:


    1) Grab the free DATARAM RAMDisk from http://memory.dataram.com/products-and-services/software/ramdisk
    2) Install the RAMDISK with default settings, and startup the RAMDisk. I have a 400MB RAMDisk on 4GB total memory.
    3) Grab procmon.exe from http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
    4) Run procmon.exe in the background while you do your daily tasks. Then, click on Tools -> File Summary, and sort by Writes. Note the locations to which absurd amounts of writes are taking place, and decide whether it's a cache that you don't really need. Things like temp files are unnecessary. Things like cookie lists and bookmarks, though.. well, you decide.
    5) Close all programs.
    6) Go to the location with the FOLDER containing the frequently written to data. Copy the contents of that folder to your RAMDisk and leave under root directory. Delete the whole original folder.
    7) Type in cmd into the run bar in the start menu, right click the result that shows up and select "Run as Administrator". Use the following command: "mklink /d (COMPLETE_PATH_OF_ORIGINAL_FOLDER) (RAMDISK_DRIVE_LETTER):"
    8) Start the program that was making those writes, and use procmon.exe to verify that the writes are now going to the RAMDisk.

    Tips:

    - If it says "cannot delete folder" in step 6, try closing more programs, or starting up in safe mode, or make a new user account in Windows and try doing it from a different log in. Make sure you log out of the original account, though.
    - Under system variables (right click My Computer, go to Properties, Advanced System Settings, Environment and Variables) modify all entries that mention "Temp" or "TMP" and make them point directly to the root directory of your RAMDisk.

    Notorious programs for writing too much:
    - Skype. 30k writes upon startup for me, and another 20k over a few calls (what the hell is it doing, logging my voice and sending to CIA???)
    - Windows Live Messenger. 20k writes upon login to various logs.
    - Firefox. HUGE number of writes for opening one page (1-2k for opening NBR)
    - more to be added.

    Anything else to be added soon.
     
  2. 2.0

    2.0 NBR Macro-Mod® Super Moderator

    Reputations:
    13,276
    Joined:
    Jul 9, 2007
    Messages:
    7,621
    Likes Received:
    1,013
    Trophy Points:
    331
    There's also the issue of write amplification which must be factored in when trying to determine theoretical SSD life. So, one is never write just say, 100MB, when writing a 100MB file. The true size of the write will be several orders of magnitude larger due to write amplification.

    Here's a fairly detailed wiki to explain write amplification: Write amplification - Wikipedia, the free encyclopedia
     
  3. AboutThreeFitty

    AboutThreeFitty ~350

    Reputations:
    814
    Joined:
    Mar 26, 2010
    Messages:
    1,705
    Likes Received:
    0
    Trophy Points:
    55
    In your opinion, how long will an average SSD last?

    I'm keeping mine until the 3 year warranty ends.
     
  4. min2209

    min2209 Notebook Deity

    Reputations:
    346
    Joined:
    Nov 1, 2006
    Messages:
    1,558
    Likes Received:
    0
    Trophy Points:
    55
    With my usage pattern (browse net, play a few games, talk on MSN, Skype, etc) it appears that my SSD will last about 8 years. However, my SSD:

    - has 10000 specified P/E cycles. Many of the newer SSDs based on a smaller manufacturing process only have about 5000.

    - is optimized. I have created about 20 folder symbolic links to move stuff off the SSD. When I monitor my writes, I seem to have redirected about 80% of the small writes OFF my SSD.
     
  5. talin

    talin Notebook Prophet

    Reputations:
    4,694
    Joined:
    Feb 15, 2007
    Messages:
    5,352
    Likes Received:
    0
    Trophy Points:
    205
    Doesn't that defeat the whole purpose though? Most buy an SSD as a HDD replacement. I think what you're doing is a good indicator of reliability (or lack of confidence in its reliability), atleast to me anyway. Nobody should have to do that to extend the life of their HDD.
     
  6. min2209

    min2209 Notebook Deity

    Reputations:
    346
    Joined:
    Nov 1, 2006
    Messages:
    1,558
    Likes Received:
    0
    Trophy Points:
    55
    Hmm. Well, it's so so. Moving cache and log files off has minimal impact on my system for two reasons. The data is stored on a RAMDisk, which has about 7GB/s read and write speeds. Secondly, when I restart, I don't expect to use this kind of data from the last session again anyway.
     
  7. talin

    talin Notebook Prophet

    Reputations:
    4,694
    Joined:
    Feb 15, 2007
    Messages:
    5,352
    Likes Received:
    0
    Trophy Points:
    205
    I think you misunderstand me. :p I agree with you on your assessment that SSD's are not reliable. I was simply stating that nobody should have to go through such great lengths to increase the reliability of their hard drive, and that speaks to me that atleast some out there are not confident in SSD's reliability.
     
  8. min2209

    min2209 Notebook Deity

    Reputations:
    346
    Joined:
    Nov 1, 2006
    Messages:
    1,558
    Likes Received:
    0
    Trophy Points:
    55
    Oh ah I see I misunderstood what you meant. I thought you were saying that moving stuff off the SSD defeats the purpose of having an SSD for the speed aspect. I forgot that people buy SSDs for reliability too, lol but it's definitely not write endurance.
     
  9. NotEnoughMinerals

    NotEnoughMinerals Notebook Deity

    Reputations:
    772
    Joined:
    Mar 6, 2010
    Messages:
    1,802
    Likes Received:
    3
    Trophy Points:
    56
    hey min, would you be interested in posting a small guide of how you're redirecting these writes? I'd really like to do the same and I'm sure a lot of people would find it useful.
     
  10. JVRR

    JVRR Notebook Evangelist

    Reputations:
    462
    Joined:
    Nov 15, 2010
    Messages:
    339
    Likes Received:
    0
    Trophy Points:
    30
    I never even thought about it, I went for the speed, and most importantly, the battery/power savings.

    Four to eight years sounds horrible, but to be fair, I do not think I have ever relied on a hard drive for longer than that. By that time it has been relegated to an external for fun.

    I suspect in four years I will either have a better laptop, or be buying one of those dirt cheap 1tb SSD deals on Black Friday :).
     
Loading...
Thread Status:
Not open for further replies.

Share This Page