Cost Of More Space, m4's Over-Provisioning
It might surprise you, but Crucial's Marvell-based drives don't have any over-provisioning. The end result is more user accessible space, but it's possible that this may impact performance.
|Crucial m4 256 GB||Intel SSD 510 256 GB|
|NAND Flash Components||25 nm MLC, ONFI 2.2||34 nm MLC, ONFI 2.1|
|Raw NAND||256 GB||256 GB|
|IDEMA Capacity||256 GB||250 GB|
|Windows Capacity||238.5 GiB||232.8 GiB|
|Interface||SATA 6Gb/s||SATA 6Gb/s|
Over-Provisioning, Garbage Collection and Performance
Over-provisioning refers to space set aside so that a drive can perform bookkeeping functions. As you start using a SSD, collecting scattered blocks helps allocate space for future writes. This is what we know as "garbage collection."
Zero percent over-provisioning might cause the drive to perform slower as it fills up. In our case, we're just copying entire directories from our boot drive until the SSD is full. If there is a problem, performance will fall after we've filled the drive.
|HD Tach RW||Clean Performance||Drive Full||After Idling 30 minutes|
|Intel SSD 510 (250 GB)||Average Read: 370.8 MB/sAverage Write: 300.4 MB/s||Average Read: 371.1 MB/sAverage Write: 221.0 MB/s||Average Read: 339.4 MB/sAverage Write: 274.3 MB/s|
|Crucial m4 (256 GB)||Average Read: 391.2 MB/sAverage Write: 233.8 MB/s||Average Read: 177.1 MB/sAverage Write: 253.6 MB/s||Average Read: 156.2 MB/sAverage Write: 253.9 MB/s|
As expected, we see some performance degrade when we pack the drives full of data. After we wait 30 minutes to let idle garbage collection kick in, we see most of the performance recover, but Crucial's m4 still falls a bit short from what you would get in a out-of-box state. Specifically, look at how much read speeds suffer.
Intel's SSD 510 read speed only falls about 8.5% and we see write speed recover. In comparison, the m4's read speed falls about 40%. Write performance is better, but there are many peaks values. Clearly, garbage collection on the 510 provides higher and more consistent performance that we don't get with the m4. In this specific scenario, Crucial's latest drive seems to back itself into a corner.
Now it's also possible to test another aspect of garbage collection. Specifically, we can see how fast blocks become available. This involves looking at the performance of a drive after TRIM. Why? Remember the TRIM command doesn't erase all the data in the same way a secure erase does. It only tells the controller that the OS no longer occupies the storage space. This means you have to erase a block in order to make it available to any subsequent write event. Herein lies the contradiction. Individual blocks can't be erased, only groups of large segments can. So once a drive is completely filled up and TRIMed, the write speed is effectively limited by the speed at which a controller recycles.
We can do this by filling the drive again. Then, we empty the drive by using the Recycle Bin to trigger the TRIM command. If the sequential write performance after TRIM is less than the performance get get with a secure erase, it means that there is a bottleneck in the recycling process.
|AS SSD Sequential Write Performance||Secure Erase Performance||After TRIM|
|Intel SSD 510 (250 GB)||315.75 MB/s||308.86 MB/s|
|Crucial m4 (256 GB)||283.12 MB/s||279.36 MB/s|
There is some performance loss after issuing a TRIM command. Crucial's m4 writes sequential data at 283.12 MB/s in its clean state. After filling and emptying the m4, we find that sequential write performance is now 279.36 MB/s. With a 3% drop, we don't have to worry about the m4's performance being handicapped. When it comes to over-provisioning, we don't see a bottleneck in the recycling pathway.