How To Prevent SSD Degradation Without TRIM

Discussion in 'Hardware Components and Aftermarket Upgrades' started by eYe-I-aïe..., Sep 7, 2010.

Thread Status:
Not open for further replies.
  1. eYe-I-aïe...

    eYe-I-aïe... Notebook Evangelist

    Reputations:
    730
    Messages:
    503
    Likes Received:
    4
    Trophy Points:
    31
    The problematic:

    SSDs tend over time to degrade both in capacity and speed.​

    Capacity:
    As every write to a cell wears it, the more you write to a cell, the faster it will become unusable, leaving you with less space to write to, decreasing therefore the capacity.

    Speed:
    Every block of cells that gets a write on it will respond slower if there's already something written on any cell of the block; so the more you write to your SSD, the more blocks will be partially written to, leaving you with slowest writes, decreasing therefore the speed.


    The cure:

    SSD's manufacturers, along with O/S's and Storage Controller's manufacturers, came with the following three solutions:​


    WEAR LEVELING:
    This is an algorithm integrated to the SSD, which guides the data to be written toward the cells that have had the less writes so far, thus, peventing some cells to die way before others, allowing them to wear pretty evenly and, therefore, keeping then the capacity of the drive.

    TRIM:
    When you delete a file, windows only deletes the index pointer, not the data itself. This is not a problem with an HDD, which will simply overwrite the data, it doesn't make a difference for it if it's empty or not. To the contrary, an SSD will take up to four times the time it takes to write something on a partially written block, as opposed to a fresh block, would the data be marked as valid or not. TRIM makes sure that when a delete command is sent to the drive, the drive actually indeed eradicates the data so the cells are really empty, so the next write to them will be as fast as possible, keeping then the speed of the drive. TRIM was implemented after ITGC, because of it's inherent limitations.

    ITGC:
    Before the TRIM command was implemented, SSD's manufacturers (Samsung namely) came with Idle Time Garbage Collection. This, as its same says, in Idle Times, when your SSD is not sollicited, Collects the Garbage, the data marked in the index to be invalid but still present on the cells, and consolidate them on single or contiguous blocks; it basically defragments the drive, so the next writes will be done on empty blocks. There may be technically an argument about to wether or not ITGC recognize or not the valid from the invalid data, but it's not significant as would it defragment only the Garbage or all the data, the result bottom line is the same: less blocks partially written, keeping then the speed of the drive !


    So, what's this all about you ask ?


    Well, while everyone can enjoy the benefit of the wear leveling, not everyone have the opportunity to work with TRIM, be it because they're in RAID, or simply because either their O/S or their SSD does not support it, and while ITGC is then a must, and every drive most likely has it's own version of it, still, it has it's own limits, and my guess is that nobody told you about it yet...​


    Life's Good !!


    So, say you just put a brand new SSD in your machine, first time you use that, coming from a regular 5400RPM HDD, and say YOU DO NOT HAVE TRIM. No matter what brand the SSD is, you'll be simply amazed by the newly speed of your system; you might even not believe it at first... So you start to enjoy your brand-new-system-feeling-like, you play, you work, you download, you install, you uninstall, you re-install, you delete, you name it: _____________, and life's good, you simply love your new system, you almost wish you would never have used anything else in your life: You are now an HAPPY-SSD-BUDDY !!!


    Then, the CRASH...​


    So one day, you wake up and decide to benchmak your puppy, just out of curiosity, not necessarily that you noticed some slowdown recently, or maybe just a little tiny bit, but you're somewhat of a Geek, and you like to know your system is working optimally. So you start a disk bench and then, here's the shock, the horror, the frightfulness, you just can't believe it: your perfs are down to almost those of an ancient, antique, unfashionable, dowdy, outdated, obsolete and ridiculous HDD...​


    What The Heck Happened ???


    Well, as life goes on, things tend to amass, to pile up, so all those little writes that occured on you SSD, plus all the files you downloaded and deleted after, plus all those temp files that only windows knows their secrets, plus your browser's cache and cookies, and your pagefile's writes and so, combined to the fact that, as nobody told you about that before, YOU AT LEAST ONCE FILLED YOU DRIVE OVER SAY 75%, 80%, 85%, 90%, your call, it's on me _____%, AND NOW, YOUR SDD IS F....., FROZEN, FRIED! and so are you...​


    STILL: What The Heck Happened ???


    Remember we've established you DO NOT have TRIM. So all you got is an ITGC, which, as previously said, has it's own limits. So here we go. When your drive is from 0 ~ say 70% full, there's plenty of empty or partially written blocks that can accomodate Garbage or valid data. However, once your disk gets written to over a certain threshold, never mind the overprovisionning the manufacturer has provided, and considering wear leveling works in conjuntion with ITGC, it then becomes impossible for ITGC to find any empty block, so next writes won't find any neither, and then, every single K of write which will from now on occur will take up to four times it should have taken, because they're all going to be written on already partially written block, thus your perfs down to almost the ones of an old HDD, especially with the 4Ks range...​


    So, What's In For me :confused:


    Well, thing is that, while it would certainly have served their honesty, it might have prevent some cash to come in, so manufacturers did not broadcast that info upfront, and my guess is that they won't neither. But we, maniacs, fans, whatever, we know we're not dummy customers, so we have to take care of ourselves. So far, if you filled your drive at least once up to XX%, you're as f...ried! as your drive, as far as I know. For instance, back with my first M17X, which was to be replaced for a problem not regarding the two Sammies SSDs Raided inside, I remember I ran a kind of FFs program on them, and this screwed those drives like crazy. Never was ITGC able to get them back on their feet. Basically, this program had written to every single cell of both of them, and they were f...rozen :eek:


    Still: What's In For me :confused:

    Well, at that point, all I can provide you with is the following advice:​


    :)→ NEVER FILL YOUR NO-TRIM ANY-BRAND SSD MORE THAN SAY 70%
    OF IT'S CAPACITY, AND YOU'LL REMAIN AN HAPPY-SSD-BUDDY ← ;)


    I personally use two Intels 160GB in RAID, and was previously using two Samsungs 256GB in RAID, so basically, I never got TRIM to work for me so far. Take it for what it's worth, I never did, and never will fill them over 50% if I can, and for sure, never shall go over 67%. In both cases, I've been able to maintain pretty much my initial performances, WITHOUT TRIM.


    Hope this advice shall serve as much and as many people as possible...
    :cool:
     
  2. HTWingNut

    HTWingNut Potato

    Reputations:
    21,580
    Messages:
    35,370
    Likes Received:
    9,866
    Trophy Points:
    931
    You're theory assumes the SSD needs ~ 30% of the drive in order to properly execute internal GC, which IMHO seems quite excessive.

    Either way, if a non-TRIM SSD can't handle anything over 60-70% then you're actually better off buying a much better quality drive with a lower capacity for the same price. For example, instead of buying a 256GB Samsung, get a 160GB Intel or 180GB OCZ Agility 2 @ $400 for less than or no more than the cost of the non-TRIM SSD.

    A secure erase should correct the issue though, but that requires losing all data on the drive, and reinstalling or reimaging (which has its own set of issues) the drive as it was previously.
     
  3. eYe-I-aïe...

    eYe-I-aïe... Notebook Evangelist

    Reputations:
    730
    Messages:
    503
    Likes Received:
    4
    Trophy Points:
    31
    I said 30% ~ 70%, just a guess; I don't know the exact thing here...

    And what about if you are in RAID?

    ANY SSD in RAID will not handle TRIM, until drives with ATAPI-8 compliancy hit the market...

    I have two Intels 160GB in RAID; both supports TRIM, but NOT together...

    My whole point wasn't about or not buying a non-TRIM-able SSD; it was more kind of, if for ONE reason or another, you use an SSD in a non supported TRIM environment, you'd be better off not fill it more than 70% of it's capacity.

    As far as all cells being used once, it's obvious, would it be only because of wear leveling. Question is where are the cells containing deleted data: among the blocks that contain valid data, or spread among blocks that contain NO other data, which is the worst case scenario; ITGC put those scories among block already containing other data, fake or real, and this cleans up empty blocks for subsequent writes.

    But when you fill your drive almost 100%, there no such empty cells (pages) within the partially filled blocks, so they start to use the empty ones cause they have no other choice, so everything clugs, chokes, slows, dye...
     
  4. tilleroftheearth

    tilleroftheearth Wisdom listens quietly...

    Reputations:
    5,362
    Messages:
    12,656
    Likes Received:
    2,688
    Trophy Points:
    631
    Just want to state that with even non-raid SSD setups, these minimums are still a good idea.

    Maybe I'm just unlucky in the SSD I have chosen a SandForce based Inferno (look in the oxz forums where Bill Gates states that TRIM is essentially ignored on the SandForce drives), but I definitely saw a performance increase from it when I deleted/removed about 14GB from it and am now running with 70% used capacity (from a 93GB available).

    When do I start noticing that an SSD has much less 'zing'? At around 40-50% filled capacity. Anything below that and the SSD seems magical.

    eYe-I-aie, what is the primary use of your system? Does it endure a lot of writes per day or is it mostly beneficial for the 'snap' it offers in your usage?
     
  5. HTWingNut

    HTWingNut Potato

    Reputations:
    21,580
    Messages:
    35,370
    Likes Received:
    9,866
    Trophy Points:
    931
    eYe-I-aïe... I edited my post quickly and you must have snagged it before I got done.

    I don't understand why people want to RAID their SSD's, especially considering lack of TRIM. It's like taking two Hemi 5.7L V-8's and making a V-16 out of it. It's definitely bigger and probably a bit faster, but nothing that you usually can take advantage of.

    If 50% is truly the max speed factor then SSD's have a lot further to go than people lead on, not to mention double the price point, since you need a drive twice the size of what you really think you'll utilize at max. This makes me want a Momentus XT more and more now. A defragged hard drive can be at 90% capacity with marginal performance difference from one at 10%.

    However I would think even if the drive is filled to nearly 100% it shouldn't matter once you've gone back to a 50 or 60% (or less) filled drive. The blocks that are partially filled should be "erased" by the GC routine eventually. Because after I filled my drive, then deleted the "filler data" so I was back to about 20% full, I let it idle for 24 hours and performance came back like fresh. For a while. Now all of a sudden it's giving me this crappy performance. How can you explain that?
     
  6. eYe-I-aïe...

    eYe-I-aïe... Notebook Evangelist

    Reputations:
    730
    Messages:
    503
    Likes Received:
    4
    Trophy Points:
    31
    Basically, people RAID their SSDs to get better performance out of it/them.

    It's even a better idea if the drives do not support TRIM as it then makes no difference if you use them in a RAID setup or not, as they cannot handle the TRIM command anyways...

    Your motor car analogy does not apply here in my humble opinion for at least this reason:

    A V16 is indeed bigger, and most likely faster, but you're not allowed to use it at its peek, at its full potential, simply because there's speed limits on roads and even a V4 is able to reach and even exceed those limits. So I agree with you that there's no point really for doing that.

    To the contrary, there's no such speed limits for an SSD, regulation-wise, so the more SSD you RAID together, the snappiest your system will run. Just to take one example, I gained 5 seconds of boot time (5 seconds less to boot) with raided SSDs than with only one. 5 seconds may seem to one like nothing; for me, however, 5 seconds out of 25 seconds is HUGE indeed, it's actually 20% faster, not really something I cannot take advantage of...

    I already explained why an HHD won't suffer from being almost filled, and this is because it takes for it the same time to write data on a part of the disk which already contains data (invalid) than it takes to write the same data on a part of the disk where there's no such already written data. That's why you will most likely not experiment sudden slowness with an almost filled HDD.

    Again, I don't have the exact numbers (neither Samsung nor OCZ nor WD nor Intel nor whoever would discard them to me), but, as a preventive measure, I suggested to anyone who use a NON-TRIM SSD to not fill it over 70%, to prevent speed degradation. Your call is as good as mine on this one I guess, I said 70%, I myself won't fill them more than 2/3, say 67%. That's the way I've chosen and never got any noticeable performance lost this way. Yours to see if it fits your habits...

    For reference, when I was shopping around for my M17X, I've read a whole bunch of news, benchies and what you will about SSDs, just to make sure I'd make the right choice about the one(s) I was to pick. This was back in October 2009. At that time, an Intel G2 160GB was selling for ± $650 which is not exactly cheap. I knew that if I would have chosen this guy, I would have filled it up to 70% right off the bath, and thought it was not a good idea. SSD's choice at that time was pretty much Samsung, Intel and any re-branding vendor with Indillinx controller. I ended-up going with two Sammys in RAID, because Dell were selling them to me $500 each, which was WAY cheaper than any other offer the market had at the time. Except for the FF writing I did once, I never had problem with those drives, but never filled them more than 30% of their entire capacity (± 135GB out of 476GB total).

    I chose at that time to go with this setup (2 X Sam) for mainly two reasons:

    1. I had read some Intel users bricked their SSD (the 8MB bug) by updating their FW (to get the TRIM command support);
    2. I figured that without TRIM, if I would care not filling them too much, ITGC would do the job, and since I was to get ± 476GB total...
    And what I thought was what I got.

    Now, allow me to try to explain better than what I did so far about ITGC...

    I agree with you, one would expect ITGC to erase garbage but, as a matter of fact, it simply can't, all it can do is to DEFRAGMENT the garbage, like the name says, all it does is GARBAGE COLLECTION, it puts together the invalid data, the garbage, on the same block(s), or on already partially written blocks, and it's doing that in conjunction with wear leveling.

    So, once your drive gets filled passed a certain threshold, comes a point where there's no such partially written blocks that could accomodate the garbage; therefore, ITGC have to use fresh blocks to consolidate the garbage, so we reach a point where all the next writes will occur on already partially written blocks, thus, the speed decrease.

    At that point, even if you delete half of the data on the disk, still, the blocks where the data was are STILL filled with Garbage, with data marked as to be deleted but still present... So the next writes will still be slower because, even if the data is deleted, its still there, but simply marked as "can be overwriten" in windows's index. Of course, ITGC could then offer you a respite if you let it idle for some time, where you got back your fresh drive after deleting alots of data, because it had time to consolidate the garbage, freeing-up some fresh blocks, but as your drive has been almost filled once, the rest won't last.

    We can argue till the end of times as to whether or not any SSD should benefit from the TRIM command, and the obvious answer is YES. However, again, not everyone can benefit of TRIM, because RAID or non-supported-TRIM-SSD or older O/S, but thing is that if you don't have TRIM, you'd be well advized to not fill it say more than 2/3 of it's capacity. Now, if you ask me if one should do everything in his power to have his SSD with TRIM, it's obvious, no question about that, the answer is YES !



    Tiller, I use my lappy for both work and leisure. Among other things, I write a book, I play some games, a bit of video, audio and image editing (not as professionnaly as you though), Internet, test many soft (so lots of install-uninstall), and others. My intels are filled at ± 33% of their entire capacity, no TRIM (I even shave my head :) )

    Hope this will help a bit, gotta go now !


    eYe

    :cool:
     
  7. Tinderbox (UK)

    Tinderbox (UK) BAKED BEAN KING

    Reputations:
    4,739
    Messages:
    8,510
    Likes Received:
    3,821
    Trophy Points:
    431
  8. saturnotaku

    saturnotaku Notebook Nobel Laureate

    Reputations:
    4,786
    Messages:
    8,692
    Likes Received:
    4,338
    Trophy Points:
    431
    60-56 = 4, not 8

    Even then, the stated capacity of the disk falls under the same capacity trickery that's been going on with hard drives since their early days. A formatted drive will always show less capacity than what's on the label. A drive labeled as "250 GB" hard drive has ~250,000,000 bytes, which in actuality is 232 GB.
     
  9. Tinderbox (UK)

    Tinderbox (UK) BAKED BEAN KING

    Reputations:
    4,739
    Messages:
    8,510
    Likes Received:
    3,821
    Trophy Points:
    431
    My ssd is sold as an 60gb , but i was told it is actually 64gb , with 8gb reserved for, as i said is use for the fat and wear levelling.

    EDIT : below is an review of the 120gb version of my ssd , it contained 16 x 8gb memory chips = 128gb

    http://www.storagereview.com/corsair_force_f120_ssd_review
     
  10. eYe-I-aïe...

    eYe-I-aïe... Notebook Evangelist

    Reputations:
    730
    Messages:
    503
    Likes Received:
    4
    Trophy Points:
    31
    I think you're mixing up two things (but it might be me as well :D )


    Advertized capacity differs from available capacity...

    For instance, a Sammy 256GB will only give you 238GB once formated, and this has nothing to do with the overprovisioning. To the same, an Intel 160GB will give you 138GB once formated. ANY disk, would it be HDD or SSD will lead to that.

    Specifically talking about SSDs, some (every?) manufacturers over-provision their SSDs, as Les replied in your thread, just so if you fill them too much, there's still empty blocks. But those are not infinite, so once you filled your drive over a certain threshold, IN A NON-TRIM ENVIRONMENT, your drive is screwed, never mind the overprovisioning.

    makes sense ?

    eYe
    :)
     
Thread Status:
Not open for further replies.

Share This Page