Free Space to the Rescue

There’s not much we can do about the scenario I just described; you can’t erase individual pages, that’s the reality of NAND-flash. There are some things we can do to make it better though.

The most frequently used approach is to under provision the drive. Let’s say we only shipped our drive with 20KB of space to the end user, but we actually had 24KB of flash on the drive. The remaining 4KB could be used by our controller; how, you say?

In the scenario from the last page we had to write 12KB of data to our drive, but we only had 8KB in free pages and a 4KB invalid page. In order to write the 12KB we had to perform a read-modify-write which took over twice as long as a 12KB write should take.

If we had an extra 4KB of space our 12KB write from earlier could’ve proceeded without a problem. Take a look at how it would’ve worked:

We’d write 8KB to the user-facing flash, and then the remaining 4KB would get written to the overflow flash. Our write speed would still be 12KB/s and everything would be right in the world.

Now if we deleted and tried to write 4KB of data however, we’d run into the same problem again. We’re simply delaying the inevitable by shipping our drive with an extra 4KB of space.

The more spare-area we ship with, the longer our performance will remain at its peak level. But again, you have to pay the piper at some point.

Intel ships its X25-M with 7.5 - 8% more area than is actually reported to the OS. The more expensive enterprise version ships with the same amount of flash, but even more spare area. Random writes all over the drive are more likely in a server environment so Intel keeps more of the flash on the X25-E as spare area. You’re able to do this yourself if you own an X25-M; simply perform a secure erase and immediately partition the drive smaller than its actual capacity. The controller will use the unpartitioned space as spare area.

Understanding the SSD Performance Degradation Problem The Trim Command: Coming Soon to a Drive Near You
POST A COMMENT

314 Comments

View All Comments

  • mitesh24 - Thursday, January 05, 2017 - link

    this article is really awasome for us. i am happy with you. The SSD is too good. nice mate. have a look my site: http://6933.fastearnpro.com/ Reply
  • seotab - Wednesday, January 11, 2017 - link

    You may already get enough reasons about why you should <a href="https://showboxdownload.site">download showbox</a> on your device. You can download <a href="https://showboxdownload.site/showbox-for-pc-downlo... for pc</a> and other devices to watch movies and tv shows. Reply
  • adsmith82 - Monday, September 14, 2009 - link

    I need to run HDDErase on an X25-M. No matter what bootable CD or flash drive I create, HDDErase does not see either of my SATA hard drives. I already disabled AHCI in BIOS. Also, I am using version 3.3. I know that 4.0 does not work with the X25-M.

    Can someone help me troubleshoot this please? Thanks.
    Reply
  • gallde - Thursday, June 11, 2009 - link

    You point out that TRIM will only work on deletions, not on overwrites. But, couldn't a smart controller look at blocks that have a majority of invalid pages and "trim" them as well, recovering clean pages as a background process? Reply
  • forsunny - Thursday, August 13, 2009 - link

    Why not just make the SSDs capable of individual page erases instead of blocks? Problem solved. Reply
  • Ron White - Sunday, August 31, 2014 - link

    Erasing the NAND transistor in an SSD requires such a large jolt of voltage that it would affect surrounding transistors. Reply
  • crazybulks - Tuesday, September 20, 2016 - link


    This is cool! Your website is great Hey! Your information is astounding!! I will recommend it to my brother and anybody that could be attracted to this topic.
    http://www.crazybulks-store.com/
    Reply
  • tanktrouble - Sunday, November 13, 2016 - link

    I know how it's an awesome game so I real want to Play it haha :) :)
    http://tanktrouble6.com
    Reply
  • leaojhoy - Monday, September 05, 2016 - link

    Hiprolean X-S Weight Loss Pills are a new, innovative, high strength weight loss capsule made from 100% natural ingredients. http://www.hiproleanxs-reviews.com/ Reply
  • lyeoh - Friday, May 29, 2009 - link

    Good and informative article.

    Regarding the shill tshen83 who claims that Anandtech cost the drive manufacturers millions of dollars in sales.

    If that is true, Anandtech has saved customers millions of dollars.

    Anandtech should care more about their readers losses than drive manufacturer losses. If Anandtech was a site for drive manufacturers and their shills we wouldn't be reading it.

    To me, if the SSD drive manufacturers lose money, it's their own fault for building crap that has higher write latencies than old fashioned drives with metal discs spinning at 7200RPM or slower. Not anandtech's.

    I can get higher sequential reads and writes by using RAID on old fashioned drives. It is much harder to get lower latency. So Anandtech did the right thing for OCZ.

    Lastly, there might be a way of making your windows machine stutter less even with a crap SSD. Note: I haven't tested the actual effect on an SSD because I don't have an SSD.

    Basically by default when Windows accesses a file on NTFS, it will WRITE to the directory the time of the access. Yep, it writes when it opens files and directories (which are just special files). That might explain the stuttering people see. For a lot of things, Windows has to open files.

    Warning! There are reasons why some people or programs would want to know the last access time of files. Me and my programs don't (and I doubt most people would).

    If you are sure that's true for you (or are willing to take the risk) set NtfsDisableLastAccessUpdate=1 as per:

    http://technet.microsoft.com/en-us/library/cc75856...">http://technet.microsoft.com/en-us/library/cc75856...
    Reply

Log in

Don't have an account? Sign up now