Examining Steady-State Performance
Conducting “fresh-out-of-the-box” testing in Iometer saves time for exploring other performance aspects. For this round-up, we want to investigate steady-state performance during worst-case operating conditions, including writing over a full drive with 4 KB random writes. Because the drive is already packed with data, the controller does not have any empty blocks available. Writing sequential data to the packed drive forces it to perform garbage collection operations. This strenuous test is important because it confirms the existence of efficient SSD garbage collection.
Torture testing our Marvell 88SS9174-based SSDs results in similar scores for all drives. Though reads are not impacted, sequential write performance simply tanks—and then fails to recover.
This is not the first time we've witnessed this sort of behavior from an SSD. It also occurred with OCZ's Octane. However, we previously interpreted this as an indicator of an SSD overly dependent on foreground garbage collection. It would have been more accurate to describe these results as a “un-recoverable” operating condition.
Marvell-based SSDs enjoy low scores when we test maximum response times during 4 KB random writes. This supports claims of background garbage collection for the m4, M3, M3 Pro, Performance Pro, and Octane.
How do we reconcile these results with the elegant recovery curve demonstrated by Marvell-based drives like the Vertex 4? If everything is working optimally, that'd be the type of behavior we'd expect from a drive employing background garbage collection.
The answer is that the threshold where it becomes difficult for an SSD to perform background garbage collection also makes subsequent graceful recovery highly unlikely. Metaphorically speaking, beating an SSD into the corner of the ring causes it to return in bad shape the next round. If we only re-run our random write torture test for a few minutes (rather than a sustained 20 minutes), the drive is able to recover.
In a way, this isn't necessarily the best way to approach background garbage collection if you're looking to preserve performance in the future. However, it's the preferred technique for extending SSD endurance, simply because fewer blocks of data are moved around over time.
Practically, none of this should dissuade you. Even in our torture test, issuing a TRIM command to the SSD results in performance recovering. Because that's not an option in RAID arrays, these SSDs aren't the best choice for combining for additional performance. Random writes will eventually trash the performance of a couple of Marvell-based drives in RAID.