How we test
There are many facets of SSD performance that can be assessed. Our own battery of tests comprises synthetic benchmarks, trace-based storage workloads in PCMark 7 and PCMark 8, boot time measurements and Iometer’s I/O workload generator. Prior to testing, we issue an ATA Secure Erase command to each drive using the SSD’s software package if available, or with the Parted Magic ( www. partedmagic.com) Linux build if not. This procedure erases all data and resets the SSD to factory performance.
We first run the synthetic benchmark CrystalDiskMark 5.0.2 to give us a quick overview of a drive’s peak sequential and random performance, at queue depths of one and 32 - the former is the most relevant to regular users, but the latter pushes most drives to their true peak performance. You can easily run the benchmark yourself to compare your own PC’s storage performance against the drives on test. We use the default settings, but set the 32-queue-depth random test to use four CPU threads to maximise the load on NVMe drives. Each test is automatically run five times, and we report the average.
For real-world testing, we first use PC Mark 7’s Secondary Storage benchmark, which loops three times and averages itself. It uses recorded SATA traces (the exact traffic over the SATA bus at the time of recording) to simulate performance in seven different ways, including Windows programs, adding pictures and music, video editing and gaming. It then generates an overall score based on the time taken to complete the tests. Next up is PCMark 8, which again uses traces, but with more modern programs. We’ve selected the Photoshop Heavy, Battlefield 3 and Microsoft Word tests, with the results this time being the time taken to complete the trace. All PCMark results include idle disk activity time, just as you would see in realworld use.
Next, we move to Iometer. We generate four 64-queue-depth, four-threaded workload patterns (database, file server, workstation and web server) designed to simulate extremely heavy sustained use scenarios with different file sizes and write- to-read ratios. We run each test one after the other for five minutes, each using fully random data – easily enough to stress a modern SSD controller. The number reported is the average IOPS (input/output operations per second) of all four tests.
The last test times how long it takes to boot a clean Windows 10 64-bit installation using the freely available BootRacer, which measures boot times down to a thousandth of a second. We install the chipset, graphics, USB and audio drivers and reboot the system five times to allow Windows to get its caching in order. We then take an average of five cold boot times, which involve restarting the system and a full reloading of the operating system with all necessary drivers and services. Next, we take an average of five fast startups, which is the default behaviour following a shutdown (different to resuming from standby). Here, Windows has saved the kernel and loaded drivers into the hibernation file (hiberfil.sys), which it then loads back into system memory when you boot up – for this part, only the loading of the desktop environment is timed.
All tests are performed on an MSI X99A Godlike Gaming motherboard using an Intel Core i7-5960X and 16GB of G.Skill RipjawsV DDR4 RAM. All CPU power-saving features are disabled.
Our SSD test suite includes Iometer, CrystalDiskMark and BootRacer