New Firmware and Half-Capacity Threshold Issue
A serious problem with earlier firmware versions for the Vertex 4 series was the performance hit these SSDs suffered when filled with data by more than 50%. Their write speed would plummet down, which was especially conspicuous with the 128GB model. The higher-capacity models were affected as well, though.
This problem wasn’t observed with other SSDs, so many customers preferred not to buy OCZ products. After all, an SSD is supposed to get filled with data, isn't it? Unfortunately, OCZ’s statements on this issue were rather vague. The company claimed that the Vertex 4 firmware could work in two modes: Performance and Data Storage. In the first mode the SSD delivers its maximum performance. In the second mode, there are other priorities, and the performance hit observed when the SSD is filled up by more than 50% is due to switching from the first to the second mode.
End users were concerned that the Vertex 4 series was going to be not as fast in real-life applications as in benchmarks which are usually run on empty SSDs. However, Vertex 4 SSDs turn to be more sophisticated than they seem and can get fast even when filled up with data.
Firmware 1.5 is meant to improve the switching between the two operation modes. The enhanced garbage collection algorithms are in fact a revised performance mode which is now enabled for more scenarios.
So, we’ve carried out some special tests to check out this performance hit issue with firmware 1.5. We've taken the 128GB model which used to suffer the most from that problem.
Firmware 1.5 seems to change nothing at first. Benchmarking the sequential speed of the SSD on its entire capacity, we eventually see the old problem. The speed plummets down when half the capacity is filled with data.
The performance hit is really awful. The SSD can only deliver one fifth of its original sequential write speed.
We can see that especially clear with the AS SSD benchmark. Here's the performance of an empty Vertex 4 128GB:
And here’s what we have after we wrote a single 64GB file on it (this equals 53.7% of the SSD’s full capacity):
We guess nobody is going to buy an SSD with such a low speed. The sequential write speed is only one fifth the speed of the empty SSD. The speed of writing 4KB data blocks at a long request queue is only one third of the original one, too. The sequential read speed is reduced by half. So, that's bad, but not as bad as it seems. After about half an hour of being idle, the SSD can recuperate as is confirmed by the AS SSD benchmark:
The SSD is still filled with data by more than 50%, but its speed is almost as high when it was empty. Thus, Vertex 4 SSDs with firmware 1.5 indeed work in performance mode most of the time, preventing any reduction in speed. The SSD is going to slow down again after the next half of the remaining capacity is filled up, but it will recuperate after a while in the same manner.
So, even though the performance hit is still an issue due to the SSD’s internal algorithms, it only remains such an issue for a limited period of time. In ordinary usage scenarios users of Vertex 4 SSDs (with the new firmware) can hardly notice that problem.
Moreover, the new firmware eliminates the performance hit altogether with Vertex 4 SSDs larger than the 128GB model. For example, here is the sequential write graph of the Vertex 4 256GB:
Instead of one performance hit at 50% we can see two bends in the graph. There’s a small reduction in write speed when one fourth of the disk capacity is filled with data, and then there’s a more substantial performance hit at 75%. The drive’s behavior is overall the same, though. It slows down but for a short while. After half an hour of being idle, the SSD returns to its original performance.
Firmware developers do not disclose any details about their work, so we don’t know for sure what provokes this behavior of Vertex 4 SSDs. However, we can suppose that the Everest 2 controller separates all flash memory within an SSD into fast and slow. It writes data into the fast part first, switching to the slow one only after the fast part is all used up. When idle, the controller automatically moves data from the fast into the slow part of the SSD. This theory may be true if the Everest 2 has different latencies programming the first and second bits in each MLC NAND cell.
However, this technology would have a downside. It would increase the load on the flash memory by constantly moving data in it. Unfortunately, the SMART information reported by the Vertex 4 is far from exhaustive, so we can’t objectively measure its write amplification value. Our apprehensions about quick memory wear were only confirmed by the fact that the health attribute of our 128GB disk decreased from 100 to 98%.
Considering the small amount of data written during our tests, we suspect the Vertex 4 to have a shorter service life than other SSDs. We’ve only met with one more instance of such a quick deterioration of a disk’s health during our tests. It was the OCZ Petrol series which is known to have a short service life. On the other hand, the number of reallocated sectors of flash memory remained at zero. Moreover, the health of the Vertex 256GB disk remained at 100% throughout our tests.