Previewing Silicon Motion SM2260 NVMe Controller With 3D MLC NAND (512GB)by Billy Tallis on February 17, 2017 9:00 AM EST
Our performance consistency test explores the extent to which a drive can reliably sustain performance during a long-duration random write test. Specifications for consumer drives typically list peak performance numbers only attainable in ideal conditions. The performance in a worst-case scenario can be drastically different as over the course of a long test drives can run out of spare area, have to start performing garbage collection, and sometimes even reach power or thermal limits.
In addition to an overall decline in performance, a long test can show patterns in how performance varies on shorter timescales. Some drives will exhibit very little variance in performance from second to second, while others will show massive drops in performance during each garbage collection cycle but otherwise maintain good performance, and others show constantly wide variance. If a drive periodically slows to hard drive levels of performance, it may feel slow to use even if its overall average performance is very high.
To maximally stress the drive's controller and force it to perform garbage collection and wear leveling, this test conducts 4kB random writes with a queue depth of 32. The drive is filled before the start of the test, and the test duration is one hour. Any spare area will be exhausted early in the test and by the end of the hour even the largest drives with the most overprovisioning will have reached a steady state. We use the last 400 seconds of the test to score the drive both on steady-state average writes per second and on its performance divided by the standard deviation.
The SM2260 sample has relatively poor steady-state random write performance given that it uses NVMe and MLC NAND. The use of SLC caching and the lower than normal spare area of this drive both contribute to poor steady-state performance but may not significantly impair short-term performance.
The SM2260 sample has an even lower consistency score than the Intel SSD 600p, which uses basically the same controller and TLC NAND, but has substantially more spare area.
After the very short initial burst of great performance around 140k IOPS, the SM2260 sample transitions abruptly to a steady state that it maintains throughout the rest of the test with no long-term shifts in behavior. With extra overprovisioning reserved, there's an intermediate phase consisting of mostly performance around 80k IOPS and second burst at 140k IOPS before a higher performance but no more consistent steady state is reached.
Looking more closely at the steady state, the SM2260 sample is mostly shifting between four performance levels, with the most common being around 5k IOPS. However, when it goes through periodic phases of lower performance, it is stuttering hard and will often go for an entire second without completing any I/O. This is clearly poorly-managed garbage collection, possibly exacerbated by thermal throttling and definitely suffering from insufficient spare area.
With more overprovisioning, the severe stuttering is all but eliminated and the normal performance range jumps to around 24k IOPS with periods where it drops to around 6k IOPS.