SSD: Free space and write performance

( cross posting from SSD Performance Blog )
In previous post On Benchmarks on SSD, commenter touched another interesting point. Available free space affects write performance on SSD card significantly. The reason is still garbage collector, which operates more efficiently the more free space you have. Again, to read mode on garbage collector and write problem you can check Write amplification wiki page.

To see how performance drops with decreasing free space, let’s run

benchmark with different file sizes.

For test I took FusionIO 320 GB SLC PCIe DUOâ„¢ ioDrive card, with software stripping between two cards, and there if graph how throughput depends on available free space ( the bigger file – the less free space)

The system specification and used scripts you can see on Benchmark Wiki

On graph you can see two line ( yes, there are two lines, even they are almost identical).
First line is result when FusionIO is formatted to use full capacity, and second line is for case when I use additional space reservation ( 25% in this case, that is 240GB available). There is no difference in this case, however additional over-provisioning protects you from overusing space, and keeps performance on corresponding level.

It is clear the maximal throughput strongly depends on available free space.
With 100GiB utilization we have 933.60 MiB/sec,
with 150GiB (half of capacity) 613.48 MiB/sec and
with 200GiB it drops to 354.37 MiB/sec, which is 2.6x times less comparing with 100GiB.

So returning to question how to run proper benchmark, the result significantly depends what percentage of space on card is used, the results for 100GiB file on 160 GB card, will be different from the results for 100GiB file on 320 GB card.

Beside free space, the performance also depends on garbage collector algorithm by itself, and the card from different manufactures will show different results. Some new coming cards make high performance in case with high space utilization as competitive advantage, and I am going to run the same analysis on different cards.

Share this post

Comments (9)

  • Haytham Reply

    Fusion IO is well known for it’s bad performance over time. So I would like to invite you to test another SSD drive that use SandForce controller. If you could perform the same test on OCZ RevoDrive it will be great and helpful.

    Here is my reference about Fusion IO bad performance:

    July 17, 2010 at 10:28 pm
  • Vadim Reply


    I think if you see performance getting worse on FusionIO over time – it is again related to space consumption.
    I for sure will do benchmarks on OCZ RevoDrive as soon as have it on the hands, I do not see it yet available for purchase.

    July 17, 2010 at 11:40 pm
  • Patrick Casey Reply


    I don’t think the data above shows that Fusion IO has bad performance over time; rather it shows that it has poor performance when *full*, doesn’t it?

    To show performance as a function of time you’d have to fill the card to some constant level (say 50%) and then run it that way for some period of time wouldn’t you?

    Mind you in practise storage fills up over time, so I’d expect most real world use cases to involve progressively less free space as time passes, but that’s not a function of the equipment.

    July 18, 2010 at 1:39 pm
  • Normann Reply

    if the performance is pretty much the same between space reservation and the 25% reservation why should I wast 25%?
    And are the IO’s affected too?

    July 18, 2010 at 2:34 pm
  • Farid Reply

    Does the poor performance come from the non-support of TRIM in Fusio IO ?

    July 21, 2010 at 5:33 am
  • Vadim Reply


    Not in this case. From the script you can see that card was formatted for each individual size.

    July 21, 2010 at 11:10 am
  • Vadim Reply


    As I understand it that is protection that you do not overuse space, which would lend to further performance degradation.

    July 21, 2010 at 11:12 am
  • K Reply

    It would be interesting to see, if there is any change in this regard with latest release of FusionIO drivers (2.1 driver + Firmware v5.0.1, rev 42895)


    August 3, 2010 at 2:19 pm
  • howard Reply

    can you test it in the normal disk?so they can compassion.

    August 12, 2010 at 1:21 am

Leave a Reply