Degradation and Consistent Performance
Unfortunately, SSDs are not always as fast as in their fresh state. In many situations their real-life performance goes down far below the numbers you have seen in the previous section of this review. The reason is that, having run out of free pages in flash memory, the SSD controller has to erase memory pages before writing to them, which involves certain latencies.
This is best illustrated by the following diagram. We are writing data to our SSD and watching the write speed change.
The write speed plummets at a certain moment. It's when the total amount of data written equals the SSD's capacity. Of course, users are more interested in the consistent performance of their SSDs rather than the peak speed they are going to show only in the first period of their usage. SSD makers, on their part, specify the speed characteristics of fresh SSDs for marketing reasons. That’s why we test the performance hit that occurs when a fresh SSD turns into a used one.
The catastrophic performance hit illustrated by the diagram above is somewhat artificial, however, and only reflects the case of incessant writing. When it comes to real-life scenarios, modern SSD controllers can alleviate the performance hit by erasing unused flash memory pages beforehand. They use two techniques for that: idle-time garbage collection and TRIM. TRIM doesn’t work for RAID0s, however, as the OS has no direct access to the SSDs. Therefore it is quite possible that a single SSD can turn out to be better than a corresponding RAID0 after both have been used for a while.
We are going to check this out in practical tests according to the SNIA Solid State Storage Performance Test Specification. The point is that we measure write speed in four different cases: 1) the RAID and SSDs being in their fresh state; 2) after the RAID and SSDs have been twice fully filled with data; 3) after a 30-minute pause so that the SSD controller could restore performance by collecting garbage; and 4) a final test after issuing a TRIM command.
We measured the speed of writing of random-address 4KB data blocks at a request queue depth of 32 commands using IOMeter 1.1.0 RC1. Test data were pseudorandom.
Performance degradation is a real problem indeed. As you can see, the SSDs do suffer a terrible performance hit. And, most unfortunately, the SF-2281 based products do not benefit much from the garbage collection technique. The reserve pool, which amounts to about 7% of the full capacity of these SSDs, doesn’t help them at all. It is only the TRIM command that can bring performance back to a more or less normal level. However, TRIM doesn’t work with RAIDs, so single SSDs are going to be eventually much faster at writing than an SSD-based RAID0.
It means that the write speeds shown in the diagrams in the previous section of our review only reflect but a fragment of the overall picture. As soon as fresh SSDs turn into used ones, their performance changes completely. Their write speed is different. The next diagrams show this speed as benchmarked by CrystalDiskMark 3.0.1.
You can see the SSD-based RAID0 slowing down over time so much that it becomes slower than the single 120GB SSD with 4KB data blocks, the single SSD benefiting from the TRIM command. Thus, the real-life benefits of an SSD-based RAID0 boil down to its high read speed which does not degenerate over time as the SSDs get filled with data.