OCZ Octane 1.13 Firmware Update: Improving 4KB Random Write Performanceby Anand Lal Shimpi on February 9, 2012 11:21 PM EST
Random Read/Write Speed
The four corners of SSD performance are as follows: random read, random write, sequential read and sequential write speed. Random accesses are generally small in size, while sequential accesses tend to be larger and thus we have the four Iometer tests we use in all of our reviews.
Our first test writes 4KB in a completely random pattern over an 8GB space of the drive to simulate the sort of random access that you'd see on an OS drive (even this is more stressful than a normal desktop user would see). I perform three concurrent IOs and run the test for 3 minutes. The results reported are in average MB/s over the entire time. We use both standard pseudo randomly generated data for each write as well as fully random data to show you both the maximum and minimum performance offered by SandForce based drives in these tests. The average performance of SF drives will likely be somewhere in between the two values for each drive you see in the graphs. For an understanding of why this matters, read our original SandForce article.
Random read performance takes a small step backwards. We've generally found that anything in the north of 40MB/s tends to do pretty well in our client workloads so I'm not too worried about the drop here. The big gains are, of course, in random writes:
The 128GB drive shows the biggest performance increase, more than doubling from the release firmware. The 512GB drive also gets faster here but by only 47%. The Octane is now faster than Intel's SSD 320 when it comes to random write performance. Again I don't expect this to do much for client workloads, but in the enterprise space things are different...
Many of you have asked for random write performance at higher queue depths. What I have below is our 4KB random write test performed at a queue depth of 32 instead of 3. While the vast majority of desktop usage models experience queue depths of 0 - 5, higher depths are possible in heavy I/O (and multi-user) workloads:
The gains continue at higher queue depths.
Sequential Read/Write Speed
To measure sequential performance I ran a 1 minute long 128KB sequential test over the entire span of the drive at a queue depth of 1. The results reported are in average MB/s over the entire test length.
While random performance goes up, sequential performance actually drops a bit. This shouldn't happen given how much DRAM is available to cache larger tables on each Octane drive, but needless to say performance did go down.
Here's where things get a little confusing. Sequential write performance on the 512GB drive went down, while the 128GB drive saw higher performance. Again, this shouldn't be happening and why there's a difference based on capacity is odd. OCZ tells me that 128/256GB drives should see performance gains here and only the 512GB drive will see a drop. The only thing I can think of is the 512GB drive has more die that writes need to be split across. Why that would cause performance to go down is a mystery to me. If I had to guess I'd say that this is something OCZ should be able to fix with a future firmware update.
AS-SSD Incompressible Sequential Performance
The AS-SSD sequential benchmark uses incompressible data for all of its transfers. The result is a pretty big reduction in sequential write speed on SandForce based controllers.
The same story here in AS-SSD. Both drives are slower on reads, the 128GB drive gets faster on writes while the 512GB drive loses a lot of its write speed.