Degradation and Steady-State Performance
Unfortunately, SSDs are not always as fast as in their “fresh” state. In most cases their performance goes down after some time and in real life we deal with completely different write speeds than what we see on the diagrams in the previous chapter of our review. The reason for this phenomenon is the following: as the SSD runs out of free pages in the flash memory, its controller has to clear memory page blocks before saving data into them, which causes substantial delays. Although, modern SSD controllers can alleviate the performance drop by erasing unused flash memory pages ahead of time, when idle. They use two techniques for that: idle-time garbage collection and TRIM.
Of course, users are more interested in the consistent performance of their SSDs over a long period of time rather than the peak speed they are going to see only during the initial short-term usage period, while the drive is still “fresh”. The SSD makers, however, declare the speed characteristics of “fresh” SSDs for marketing reasons. That’s why we decided to test the performance hit that occurs when a “fresh” SSD becomes a “steady” one.
To get a complete picture of SSD performance degradation we ran special tests based on the SNIA SSSI TWG PTS (Solid State Storage Performance Test Specification) methodology. The main idea of this approach is to measure write speed consecutively in four different cases. First we measure the “fresh” SSD speed. Then we measure the speed after the SSD has been fully filled with data twice. The third test occurs after a 30-minute break during which the controller can partially restore performance by running the idle-time garbage collection. And finally, we measure the speed after issuing a TRIM command.
We ran the tests in synthetic IOMeter 1.1.0 RC1 benchmark, where we measured random write speed when working with 4 KB data blocks aligned to flash memory pages at 32 requests queue depth. The test data were pseudo-random. The following diagram shows the history of the relative speed changes, where 100% refers to the SSD performance in “fresh-out-of-box” state.
Strange as it might seem, but SandForce engineers have found it very hard to properly implement the TRIM command, which restores the SSD performance during writes. The SF-2281 controller was released over a year and a half ago, but TRIM still cannot restore the performance of a SandForce-based drive to its original level. After filled up with data, SandForce-based SSDs slow down by 10 to 15% even in TRIM-supporting OSes. The Silicon Power Velox V60 shows the worst scenario: its performance plummets by 25% due to its firmware (version 5.0.2) having a TRIM implementation error.
So, if you’re going to use the full capacity of your SSD, you may want to choose products with newer firmware, like the Transcend SSD720, yet even this drive is a typical SandForce, although with disabled RAISE technology. You should look at products other than SF-2281 based ones for a perfect TRIM implementation.
Since the characteristics of most SSDs do change once they transition from fresh out-of-the-box state into steady state, we measure their performance once again using CrystalDiskMark 3.0.1 benchmark. The diagrams below show the obtained results. We use random data writing and measure only performance during writes, because read speed remains constant.
That’s a good illustration of how weak SandForce-based SSDs are at writing in their steady state. Take note that the two drives with 24nm Toggle Mode flash, Silicon Power Velox V60 and Transcend SSD720, are somewhat slower than the reference Corsair Force GT with 25nm ONFI flash. We saw the opposite when these drives were in their out-of-box state.