Mixed Burst R/W Throughput, Load Times, and Latency Percentile
In an attempt to better represent the true performance of hybrid (SLC+TLC) SSDs and to include some general trace-style testing, I’m trying out a new test methodology. First, all tested SSDs are sequentially filled to 100%. Then the first 8GB span is pre-conditioned with 4KB random workload, resulting in the condition called out for in many of Intel’s client SSD testing guides. The idea is that most of the data on an SSD is sequential in nature (installed applications, MP3, video, etc), while some portions of the SSD have been written to in a random fashion (MFT, directory structure, log file updates, other randomly written files, etc). The 8GB figure is reasonably practical since 4KB random writes across the whole drive is not a workload that client SSDs are optimized for (it is reserved for enterprise). We may try larger spans in the future, but for now we’re sticking with the 8GB random write area.
Using that condition as a base for our workload, we now needed a workload! I wanted to start with some background activity, so I captured a BitTorrent download:
This download was over a saturated 300 Mbit link. While the average download speed was reported as 30 MB/s, the application’s own internal caching meant the writes to disk were more ‘bursty’ in nature. We’re trying to adapt this workload to one that will allow SLC+TLC (caching) SSDs some time to unload their cache between write bursts, so I came to a simple pattern of 40 MB written every 2 seconds. These accesses are more random than sequential, so we will apply it to the designated 8GB span of our pre-conditioned SSD.
Now for the more important part. Since the above ‘download workload’ is a background task that would likely go unnoticed by the user, we also need is a workload that the user *would* be sensitive to. The times where someone really notices their SSD speed is when they are waiting for it to complete a task, and the most common tasks are application and game/level loads. I observed a round of different tasks and came to a 200MB figure for the typical amount of data requested when launching a modern application. Larger games can pull in as much as 2GB (or more), varying with game and level, so we will repeat the 200MB request 10 times during the recorded portion of the run. We will assume 64KB sequential access for this portion of the workload.
Assuming a max Queue Depth of 4 (reasonable for typical desktop apps), we end up with something that looks like this when applied to a couple of SSDs:
The OCZ Trion 150 (left) is able to keep up with the writes (dashed line) throughout the 60 seconds pictured, but note that the read requests occasionally catch it off guard. Apparently if some SSDs are busy with a relatively small stream of incoming writes, read performance can suffer, which is exactly the sort of thing we are looking for here.
When we applied the same workload to the 4TB 850 EVO (right), we see an extremely consistent and speedy response to all IOs, regardless of if they are writes or reads. The 200MB read bursts are so fast that they all occur within the same second, and none of them spill over due to other delays caused by the simultaneous writes taking place.
Now that we have a reasonably practical workload, let’s see what happens when we run it on a small batch of SSDs:
From our Latency Percentile data, we are able to derive the total service time for both reads and writes, and independently show the throughputs seen for both. Remember that these workloads are being applied simultaneously, as to simulate launching apps or games during a 30 MB/s download. The above figures are not simple averages – they represent only the speed *during* each burst. Idle time is not counted.
Looking at the chart, we can see dips in write performance for the smallest capacity 840 and 750 EVO parts, but note how those lower speeds also result in a lower *read* speed. This is due to the SSD having to work harder to handle the incoming writes, so there is less time available to deal with the parallel read requests. The MX300 shows good write performance but reads are still hindered by the mixed workload. I included a 500GB 850 EVO (second entry) as a comparison point to the new 4TB model (top entry), and we can see nearly identical results from both parts here. The 500GB model was the capacity point where write speeds remained at SATA saturation even once the cache was filled. Good to see the 4TB model having no issue handling so much more capacity under this mixed workload.
The bottom two entries are fire-breathing NVMe parts, and while they are indeed faster than SATA parts, here we have a (simulated) real-world workload showing that they are not as speedy as one might think. The Intel SSD 750 is an absolute monster at writes, gobbling those 40 MB bursts at a rate of over 800 MB/s (less than 0.5 seconds each!), but even with all of that extra free time to handle the reads, Intel’s 18-channel controller doesn’t match the Samsung 950 Pro, which demonstrates far superior low queue depth read performance.
Now we are going to focus only on reads, and present some different data. I’ve added up the total service time seen during the 10x 200MB reads that take place during the recorded portion of the test. These figures represent how long you would be sitting there waiting for 2TB of data to be read, but remember this is happening while a download (or another similar background task) is simultaneously writing to the SSD. The 4TB 850 EVO turns in the quickest SATA time of all compared units. Most other similar units run mid-pack at around 5 seconds. The 120GB units must work harder with fewer dies, and they turn in times in the mid 6’s, while the MX300 brings up the rear. The NVMe parts clearly shine, but take care to notice that the SSD 750 is not even twice as fast as the fastest SATA part. The 950 Pro takes the crown, outmaneuvering Intel’s ‘consumerized’ enterprise SSD, but still only 2.4x faster than the 850 EVOs.
For those curious (and who enjoy reading subway maps), here is the Latency Percentile data that the above charts were derived from:
I think there is a demand for
I think there is a demand for high capacity SSDs it’s just the price is nowhere near where it needs to be. As the price comes down, demand goes up as we learned in Economics 101 :). Maybe when we see $0.20/GB. Are SSD prices artificially high? Seems like profit-taking at this point.
At the risk of being
At the risk of being pedantic, saying that demand goes up is slightly misleading. Only quantity demanded will increase when price decreases. Demand also depends on other factors other than price (i.e quality of product, price of other competing SSDs)
Why wouldn’t Samsung want to maximise profits if they’re the only ones with consumer SSDs with 4TB capacity?
Thank you. I’m glad I’m not
Thank you. I’m glad I’m not the only one that cringed a little when I read the original comment.
By demand I did mean quantity
By demand I did mean quantity demanded, the demand curve remains the same. My point was the large SSD demand is there just not at this price.
The 2TB 850 EVO is going for
The 2TB 850 EVO is going for $635(Sale Price) at Amazon, so $1270 for 2 drives and 4TB “total”. That’s around $0.32/GB and what is the performance metrics for 2/2TB drives in various raid/other configurations.
So long as you’re on a
So long as you're on a desktop with Intel RST, almost every performance metric doubles when shifting to a pair of SATA devices. If you need 4TB on desktop, a pair of 2TB would be the way to go, but pay attention to the yet-to-be-fixed performance issues we noted with the 2TB model. It's possible that the 48-layer version of the same capacity fixed that issue, but we don't have a sample to test.
We already have $0.20/GB
We already have $0.20/GB prices for SSDs. Simply go to pcpartpicker and sort by price/GB
I have a couple cheap silicon
I have a couple cheap silicon power SSDs and they are meh at best, then again they are the 120gb version not 480.
But not high quality SSDs in
But not high quality SSDs in large capacities. Obviously the 1TB+ SSD market is pretty pricey still. My point is there will be a large demand once the price becomes more reasonable.
TLC is still relatively new
TLC is still relatively new so not sure if it’s “price taking” so much as Samsung trying to get a reasonable ROIC on all the R&D they took to bring TLC to market in the first place.
I grabbed 2 250gb evos on
I grabbed 2 250gb evos on amazon for 78 each or ~$.31 per gig… hopefully they get down there again. Made for a fun raid 0.
300TBW = the flash is rated
300TBW = the flash is rated for 75 write cycles before kaput(warranty)?
I don’t like the idea of
I don’t like the idea of having TLC. I would be willing to pay a bit more and have the pro version with a warranty of more than 300TBW. Allyn, do you know when will Samsung release the pro version?
That’s wonderful, too bad I
That’s wonderful, too bad I won’t be able to afford it. I can’t even afford the 1 TB EVO yet.
So want, such money, can’t
So want, such money, can’t afford.
I bought the muschkin 1tb
I bought the muschkin 1tb when it first came out. It has been solid for my z97 build. What I’ve seen so far, their 4tb is supposed to be a good deal when it comes out. I’ll pair that with my 950 pro 512gig in my laptop I just purchased. Do believe it’ll be a good replacement for the 7200 rpm drive that’s in there. Maybe it’ll even push the price of this samsung drive down, 4tb ssd with rapid mode with magician would be solid also.