[Wylug-discuss] Got me an fusion-io SSD, want one? Should be screaming fast

Paul Brook paul at codesourcery.com
Sun May 17 13:45:40 UTC 2009


> > Interesting.  However as part of your testing (after doing the other
> > parts as this is likely to permanently degrade it), could you try
> > completely filling it, deleting the filler back off again, and then
> > repeating your performance tests.  The idea of this is to force all the
> > blocks into use so that you then need to erase blocks before they can be
> > allocated.  This should put performance into the toilet (comparatively)
> > unless the firmware/controller is very good at managing performance.
>
> That is a fairly naive assumption as the performance drop would only
> happen with the dumbest of controllers and one write cycle would only
> permanently degrade an already broken cell. Most controllers will
> pre-erase cells that are not in use and use wear levelling to avoid
> killing particular cells. 

The device has to assume all its reported capacity is in use, so in practice 
it can only pre-erase the "spare" capacity. In practice this is going to 
perform a bit like a L2 write cache - you'll get a fast burst until pre-erased 
blocks are used up, then probably a noticable drop in performance as the 
device has to start having to do full erase-write cycles. Looking at the specs 
of the device, I'd guess that typical workloads may get as much as a few 
minutes[1] of "burst" performance before you hit this particular bottleneck.

Paul

[1] Device capacity is a couple of orders of magnitude greater than 
throughput, so even a few % pre-erase slop is going to get you several seconds 
of use. Add in that your workload is won't be maxing out write bandwidth, and 
it can easily stretch several times that length.



More information about the Wylug-discuss mailing list