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

250 Comments

View All Comments

  • sbuckler - Wednesday, March 18, 2009 - link

    Depends on how smart the controller is? Shuffling around the data now and again in the background would make sense. Reply
  • Frallan - Wednesday, March 18, 2009 - link


    @AT
    This is why i come to AT to read up on the developments.

    @OCZ
    Well played :0)

    The ruler of the roost are the Intels however I will be able to afford one of those when there are cows enjoying themselfs by dancing on the moon. My next upgrade will be a Vertex - not only bc its Valu for money but equally much bc. OCZ obviously takes care of thier customers and listens to reason.
    Reply
  • pmonti80 - Wednesday, March 18, 2009 - link

    This is the kind of article that makes me come back here. Reply
  • nowayout99 - Wednesday, March 18, 2009 - link

    OCZ, you should listen to Uncle Anand. ;) Hopefully Mr. Petersen understands that it's tough love.

    And the final product seems perfectly cool -- great performance at a better price than Intel. It's the first SSD I'd be able to reasonably consider.
    Reply
  • SOLIDNecro - Wednesday, March 18, 2009 - link

    Thx for this article Anand, I have been in a hotly contested debate over OCZ vs Samsung with my "Asperger Enhanced" nemisis/close friend...
    (In all fairness, I should mention I use the BiPolar SSE instruction set myself)

    He was only looking at Samsung, I said he should look into what OCZ has now.

    His reply was "I don't know them, and don't want to be disapointed"
    (Long story behind that...He's from the Server/Workstain/HPC crowd, I am from the hardcore OC/Gamer/Desktop group, so he is not familiar with OCZ)

    Looks like the Samsung (And alot of others) has "Issues" with performance degrading over time that are somewhat solved by Intel and OCZ (Plus maybe a few other companies that use the Rev B JMicron controller on there low cost SSD's)

    I agree the OCZ Vertex offers the best bang for low buck SSD today, and I am tempted to grab one. But a year from now, anyone that bought a current gen MLC SSD will be saying "I coulda had a V-8" if that TRIM technology does what it promises!!!
    Reply
  • James5mith - Wednesday, March 18, 2009 - link

    As people continue to try and push the envelope of storage performance in a variety of ways, and as 6gbps SATA becomes available, the performance of SSD's will only go up.

    As always, I wanted to say thanks for the great article and keep them coming. It's the only way the rest of us can keep pace with what's happening out there in the world of performance storage.
    Reply
  • vailr - Wednesday, March 18, 2009 - link

    Is there any benefit in using 2 SSD's in a Raid 0 configuration?
    And: any differences between motherboard Intel Raid vs. a Raid controller card from Areca, for example. Also: can the "Trim" command work while in Raid mode? Probably not, I'm guessing...
    Reply
  • 7Enigma - Thursday, March 19, 2009 - link

    Raid0 is really the holy grail for SSD's. The low risk of failure of SSD's which normally makes Raid0 with typical mechanical HD's more dangerous is very appealing. My personal storage-size goal is ~120-160gigs. Once they reach that size for under $300 I think I'm going to jump in. But I'm more likely to grab 2 60's or 2 80's and Raid0 them than get a single large SSD. The added performance will outweigh the higher power draw of 2 drives, and should make them extremely competitive with Intel's offerings (or whatever holds the crown at the time).

    I figure it will be about a year or so until the prices are in that range, as 2 60gig Vertex drives will currently run you about $400 after rebate.

    I can't wait to jump on that upgrade and will then put my current 250gig mechanical drive as the storage drive (I don't use a ton of space in general as I have a 320gig external backup).
    Reply
  • Rasterman - Thursday, March 19, 2009 - link

    The problem with doing that is if you want to move your drives to another system they won't work, so upgrading is a pain. You could image them I guess, but plugging one drive in is much simpler. I had an older XP install that made it through 3-4 different systems.

    I would also question real world results, if you're going at 250MB/s or 500MB/s its not even going to be noticeable unless you are doing some massive video editing or some other huge file operations, and as Anand says, SSDs don't fill this role right now as they are super expensive per GB. So if you really are editing video a lot, you are going to need a hell of a lot more space than SSDs can offer you.
    Reply
  • Gasaraki88 - Friday, March 20, 2009 - link

    RAID is a universal standard so if you take two RAID0 drives out and move them to another computer with a RAID controller, it SHOULD just work if the original RAID was doing it correctly. Reply

Log in

Don't have an account? Sign up now