Performance Focus – SSD 545S 512GB
Preamble: I’ve been analyzing the effects of how full an SSD is on its performance. I’ve found that most SSDs perform greater when empty (FOB) as they do when half or nearly filled to capacity. Most people actually put stuff on their SSD. To properly capture performance at various levels of fill, the entire suite is run multiple times and at varying levels of drive fill. This is done in a way to emulate actual use of the SSD over time. Random and sequential performance is re-checked on the same areas as additional data is added. Those checks are made on the same files and areas checked throughout the test. Once all of this data is obtained, we again apply the weighting method mentioned in the intro in order to balance the results towards the more realistic levels of fill. The below results all use this method.
Decent sequential performance from Intel here. QD1 read seems a tad low, but 128KB sequentials are rarely only QD=1 (they typically sawtooth between QD=1 to QD=8 or 16).
Now for random access. The blue and red lines are read and write, and I've thrown in a 70% R/W mix as an additional data point. SSDs typically have a hard time with mixed workloads, so the closer that 70% plot is to the read plot, the better.
Intel does well here, meeting or exceeding their stated 90k read / 75k write specs.
Something our readers might not be used to is the noticeably higher write performance at these lower queue depths. To better grasp the cause, think about what must happen while these transfers are taking place, and what constitutes a ‘complete IO’ from the perspective of the host system.
- Writes: Host sends data to SSD. SSD receives data and acknowledges the IO. SSD then passes that data onto the flash for writing. All necessary metadata / FTL table updates take place.
- Reads: Host requests data from SSD. SSD controller looks up data location in FTL, addresses and reads data from the appropriate flash dies, and finally replies to the host with the data, completing the IO.
The fundamental difference there is when the IO is considered complete. While ‘max’ values for random reads are typically higher than for random writes (due to limits in flash write speeds), lower QD writes can generally be serviced faster, resulting in higher IOPS. Random writes can also ‘ramp up’ faster since writes don’t need a high queue to achieve the parallelism which benefits and results in high QD high IOPS reads.
Our new results are derived from a very large data set. I'm including the raw (% fill weighted) data set below for those who have specific needs and want to find their specific use case on the plot.
There was a notable dip at one specific data point – QD=32, 30% read. This point was repeatable any time the SSD was filled >5%. I'm unsure of the cause, but that particular point will never be seen in typical client (or even power user) usage of the 545S, so I'll just chalk it up to a tuning compromise/oddity with nothing to be concerned about.
Write Cache Testing
The 512GB 545S appeared to maintain a ~5GB SLC cache area, which was not really needed since the speed dips by less than 100 MB/s once that cache has been filled. That smooth line after the first 5GB is significant since Intel's previous client SSD (the 600P) did not fare nearly as well. This implies that the 545S shifts to writing 'direct-to-die' in TLC mode once the cache is full. No musical chairs gumming up the works with this model.