SSD Benchmarks Hierarchy: We've tested over 100 different SSDs over the past few years, and here's how they stack up.

Page 4 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Is it for laptop or desktop PC?

If desktop PC, does the motherboard have a heatsink for that slot? If not, are you comparing prices of the heatsink version or non-heatsink? There are some fine aftermarket SSD heatsinks, and they're generally not very expensive, but you should be sure to consider that.

If you care about performance, make sure any SSD you put in a desktop has a heatsink. For laptops, try to prefer the non-heatsink version that has the lowest average temperatures or power consumption, as that will reduce the amount of thermal throttling.
Hey Bit_user, I wrote in the first sentence it's for my laptop :) So non-heatsink, I think it won't fit in my laptop.
 
  • Like
Reactions: bit_user
Hey Bit_user, I wrote in the first sentence it's for my laptop :) So non-heatsink, I think it won't fit in my laptop.
Oops! Thanks for pointing that out.

So, if you need a tie-breaker, then I'd suggest the following:
  • If you care about battery life, then look at which SSD has the lowest idle (with power-saving enabled).
  • For the benefit of both thermals/throttling and battery life, look at which drive uses less power under read-heavy loads.

I think Toms doesn't post idle power with ASPM enabled, so you'd probably have to seek out that info elsewhere. However, they do provide average and peak power consumption, under a mixed R/W workload:

gbMR4syuruZQcJ4fGrGRn6.png


goVWSmCGEsaeouYN8fg4F7.png


Source: https://www.tomshardware.com/pc-components/ssds/corsair-mp600-elite-2tb-ssd-review/2

Now that I'm looking through the benchmarks, it seems to me that where the MP600 Elite seems to do better than the T500 is on writes. When it comes to reads, they're either about the same or the Crucial T500 pulls ahead:

vX6oyJnpoJ5GnmaDuzHEK5.png


uZXCsY4Bdgse2nDzerKgR4.png


FWIW, I opted to use the Crucial T500 in my PS5. It features DRAM, whereas the Corsair drive is DRAM-less. I'm not sure where you'd expect to see that have an impact, because the Corsair MP600 Elite doesn't seem to do much worse for the lack of it, but I wonder if that might be a different story on something like the PS5. Also, most of the SSDs I've bought have been Crucial and the only thing I've ever bought from Corsair were power supplies. Crucial is owned by Micron, which makes the NAND chips in the T500. Corsair makes neither the controller nor the NAND.

Just my $0.02. Good luck with whatever you decide.
 
Can you help me with one thing.
In the ranking of the best SSDs, recently updated, you say the best 2TB SSD is the Corsair MP600 Elite 2TB, far ahead of the T500.
The best rankings are listed by random QD1 IOPs as opposed to picking a specific best overall drive.

If these are the two drives you're picking between I think it comes down to do you want optimal power efficiency or performance. The T500 is ahead on several performance metrics which might matter depending on what you're specifically doing with your system while the MP600 Elite has the edge on efficiency.
 
Oops! Thanks for pointing that out.

So, if you need a tie-breaker, then I'd suggest the following:
  • If you care about battery life, then look at which SSD has the lowest idle (with power-saving enabled).
  • For the benefit of both thermals/throttling and battery life, look at which drive uses less power under read-heavy loads.

I think Toms doesn't post idle power with ASPM enabled, so you'd probably have to seek out that info elsewhere. However, they do provide average and peak power consumption, under a mixed R/W workload

Now that I'm looking through the benchmarks, it seems to me that where the MP600 Elite seems to do better than the T500 is on writes. When it comes to reads, they're either about the same or the Crucial T500 pulls ahead:

FWIW, I opted to use the Crucial T500 in my PS5. It features DRAM, whereas the Corsair drive is DRAM-less. I'm not sure where you'd expect to see that have an impact, because the Corsair MP600 Elite doesn't seem to do much worse for the lack of it, but I wonder if that might be a different story on something like the PS5. Also, most of the SSDs I've bought have been Crucial and the only thing I've ever bought from Corsair were power supplies. Crucial is owned by Micron, which makes the NAND chips in the T500. Corsair makes neither the controller nor the NAND.

Just my $0.02. Good luck with whatever you decide.
There are a bunch of factors, but I will say that, looking at the latest crop of SSDs, I'd maybe look toward either the new Phison E31T stuff (Addlink G55 2TB is available for $195, Corsair MP700 Elite coming soon), or else try to decide between E25 and E27T.

E27T will be more power efficient, but bit_user is correct in that we have ASPM disabled on our desktop testing, and that can make idle power draw look worse. For laptops, you'd almost always have that enabled, and I know from Steam Deck testing (where SSD power saving is always enabled) that the difference between the hottest and most power hungry 2230 drives and the most efficient and coolest running 2230 drives is basically nil as far as battery life goes — provided you're not pounding the drive with constant reads and writes.

I am also of the opinion that DRAM-less isn't much of a problem these days, so E27T works just fine in general. The T500 has some oddities as well with sustained writes, not that most people would do that sort of workload. Samsung's 990 Evo Plus is also worth considering if price comes down. But T500 is a good drive for PCIe 4.0 use, a generally safe pick.
 
  • Like
Reactions: bit_user
There are a bunch of factors, but I will say that, looking at the latest crop of SSDs, I'd maybe look toward either the new Phison E31T stuff (Addlink G55 2TB is available for $195, Corsair MP700 Elite coming soon), or else try to decide between E25 and E27T.

E27T will be more power efficient, but bit_user is correct in that we have ASPM disabled on our desktop testing, and that can make idle power draw look worse. For laptops, you'd almost always have that enabled, and I know from Steam Deck testing (where SSD power saving is always enabled) that the difference between the hottest and most power hungry 2230 drives and the most efficient and coolest running 2230 drives is basically nil as far as battery life goes — provided you're not pounding the drive with constant reads and writes.

I am also of the opinion that DRAM-less isn't much of a problem these days, so E27T works just fine in general. The T500 has some oddities as well with sustained writes, not that most people would do that sort of workload. Samsung's 990 Evo Plus is also worth considering if price comes down. But T500 is a good drive for PCIe 4.0 use, a generally safe pick.
But the one you recommended (Phison E31T) is much worse than the two I'm trying to decide.

I don't know somehow nobody answered my two questions, maybe I have to run them through GPT.
I was just wondering why one was recommended, yet the other performed better in all benchmarks better...
 
I don't know somehow nobody answered my two questions,
@thestryker did say that the rankings are just based on QD1 access times, not an overall assessment of which is the best drive.

According to the priorities you stated in your original post:
  1. access times when opening lots of apps
  2. energy efficiency

It would have to be the Crucial T500. That has the best overall read performance of the two. If the priorities were reversed, then the Corsair MP600 Elite looks to have the better energy efficiency. They both look like fine options.

P.S. I'm sorry that my first post was written hastily and without taking the time to thoroughly read and consider your original post.
 
Last edited:
I don't know somehow nobody answered my two questions, maybe I have to run them through GPT.
I was just wondering why one was recommended, yet the other performed better in all benchmarks better...
I said exactly what it was, but perhaps you didn't understand?

If you look at the review the MP600 Elite has very high QD1 random write IOPs compared to everything else and the QD1 random read IOPs are close to the top as well. This means when compared to other 2TB NAND drives with regards to QD1 performance it will be at the top.
 
  • Like
Reactions: JarredWaltonGPU
I said exactly what it was, but perhaps you didn't understand?

If you look at the review the MP600 Elite has very high QD1 random write IOPs compared to everything else and the QD1 random read IOPs are close to the top as well. This means when compared to other 2TB NAND drives with regards to QD1 performance it will be at the top.
No, worries. I'm grateful that you took your time to read through it, in any case !
Thank you. Good advice, I think I'll go with it.
 
Last edited:
  • Like
Reactions: thestryker
I said exactly what it was, but perhaps you didn't understand?

If you look at the review the MP600 Elite has very high QD1 random write IOPs compared to everything else and the QD1 random read IOPs are close to the top as well. This means when compared to other 2TB NAND drives with regards to QD1 performance it will be at the top.
It's not just "very high," either... it's perhaps unrealistically high. It looks great for a benchmark run, but in real-world use I suspect it won't matter to most people. I mean, how many QD1 4K random writes do you (you as in "anyone" not thestryker) do on a regular basis? It's why I wouldn't let any one benchmark result, particularly a synthetic benchmark result, sway things too much.

Here's a different take on rankings, where it's the geometric mean of all the bandwidth results plus IOPS (converted to bandwidth). These are all the 2TB drives we've tested:

1730757938670.png

Sorry if the names aren't particularly readable, but the takeaway is that T500 (1157 score) slightly outpaces the P310 (1120 score). That's Phison E25 vs E27T, both via Crucial, so it's pretty much as clear cut as you'll find. EDIT: Actually, P310 is E27T with QLC NAND, so it's a step down from the other E27T drives!

The Corsair MP600 Elite ends up a bit slower at 1066, but that's perhaps because it was one of the first (or the actual first?) E27T drive we tested. Inland TN470 was at the same time and has the same score of 1067. Crucial P310 only came out a month or so back (review forthcoming)... though you could also argue that T500 came out a year ago and maybe the results might have changed.

Personally, I'd look at current retail pricing. The 2TB T500 goes for $145, the 2TB P310 costs $139, Inland TN470 2TB goes for $127, and Corsair MP600 Elite 2TB costs $131. So forget the P310 because it's $8 more with QLC NAND — pay more for less! Firmware updates from Inland are unlikely, so I'd personally consider $4 extra for the MP600 Elite a fair price to pay.

As for T500 versus MP600 Elite? It will depend on what you're doing. Workloads that benefit from the DRAM cache will prefer the T500, but the MP600 Elite will be more power efficient. That might mean a bit of extra battery life, and a bit less heat, but probably not a huge deal in the grand scheme of things.

But really, for general use, the only thing faster than the T500 right now will be a PCIe 5.0 drive, and for a laptop (which doesn't even support PCIe 5.0) that's not really an option.
 
This may not be the best place to ask, but my post in Storage didn't get any replies. Are the methods that Tom's uses to test pSLC cache something that can be shared or is it considered a "secret"? Do you use a custom application to do the IOMeter runs and capture the speeds at intervals so they can be graphed? I'm trying to test something (for my personal curiosity which is now driving me crazy) but I can't find a way to do it other than monitoring the results and speeds at the intervals in the GUI.
 
This may not be the best place to ask, but my post in Storage didn't get any replies. Are the methods that Tom's uses to test pSLC cache something that can be shared or is it considered a "secret"? Do you use a custom application to do the IOMeter runs and capture the speeds at intervals so they can be graphed? I'm trying to test something (for my personal curiosity which is now driving me crazy) but I can't find a way to do it other than monitoring the results and speeds at the intervals in the GUI.
We use Iometer to do constant 1MiB writes with 8 threads in sequential mode to check the pSLC cache size, basically. There's a results file (which I think you might have to configure Iometer to output?) that gets updated every second, so we can plot the total written every second for the duration of the run. If that's not sufficient information, LMK and I'll give the exact command that we pass to Iometer to cause it to output the results file.
 
  • Like
Reactions: bit_user
We use Iometer to do constant 1MiB writes with 8 threads in sequential mode to check the pSLC cache size, basically. There's a results file (which I think you might have to configure Iometer to output?) that gets updated every second, so we can plot the total written every second for the duration of the run. If that's not sufficient information, LMK and I'll give the exact command that we pass to Iometer to cause it to output the results file.
Oh that would be great, yes please. Using the GUI, the results.csv file only seems to contain a single final result with the totals, except a bunch of columns like 0 to 50 uS, 50 to 100 uS, etc, with no explanation of what those are and they're all 0. That's why I was confused about how you were able to graph anything, so I thought you had a script or app that was monitoring the result updates when run via command line.
 
Oh that would be great, yes please. Using the GUI, the results.csv file only seems to contain a single final result with the totals, except a bunch of columns like 0 to 50 uS, 50 to 100 uS, etc, with no explanation of what those are and they're all 0. That's why I was confused about how you were able to graph anything, so I thought you had a script or app that was monitoring the result updates when run via command line.
So this is the command we issue:

Code:
Iometer.exe /c WS-1hr.icf /r WS-1hr.csv

The /r gives the results file, which will have a format that contains a bunch more columns and rows, depending on how long you run the test. Our ICF file as noted is just eight threads and 1MiB sequential writes. You have to do it for an unformatted, MBR mode drive for Iometer to work properly. Otherwise, if you have a formatted drive, you need to make the test file, which can take a while (Usually 64GiB is sufficient). There's a utility that can make the file for you, but after creation on an SSD you should still copy and paste the file, then rename it — or you get abnormally high performance.

ICF file that I use for a one hour test:

Code:
Version 1.1.0
'TEST SETUP ====================================================================
'Test Description
    Write Saturation
'Run Time
'    hours      minutes    seconds
    1          0         30
'Ramp Up Time (s)
    0
'Default Disk Workers to Spawn
    NUMBER_OF_CPUS
'Default Network Workers to Spawn
    0
'Record Results
    ALL
'Worker Cycling
'    start      step       step type
    1          1          LINEAR
'Disk Cycling
'    start      step       step type
    1          1          LINEAR
'Queue Depth Cycling
'    start      end        step       step type
    1          32         2          EXPONENTIAL
'Test Type
    NORMAL
'END test setup
'RESULTS DISPLAY ===============================================================
'Record Last Update Results,Update Frequency,Update Type
    ENABLED,1,LAST_UPDATE
'Bar chart 1 statistic
    Total I/Os per Second
'Bar chart 2 statistic
    Total MBs per Second (Decimal)
'Bar chart 3 statistic
    Average I/O Response Time (ms)
'Bar chart 4 statistic
    Maximum I/O Response Time (ms)
'Bar chart 5 statistic
    % CPU Utilization (total)
'Bar chart 6 statistic
    Total Error Count
'END results display
'ACCESS SPECIFICATIONS =========================================================
'Access specification name,default assignment
    Default,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    2048,100,67,100,0,1,2048,0
'Access specification name,default assignment
    512 B; 100% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    512,100,100,0,0,1,0,0
'Access specification name,default assignment
    512 B; 75% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    512,100,75,0,0,1,0,0
'Access specification name,default assignment
    512 B; 50% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    512,100,50,0,0,1,0,0
'Access specification name,default assignment
    512 B; 25% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    512,100,25,0,0,1,0,0
'Access specification name,default assignment
    512 B; 0% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    512,100,0,0,0,1,0,0
'Access specification name,default assignment
    4 KiB; 100% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,100,0,0,1,0,0
'Access specification name,default assignment
    4 KiB; 75% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,75,0,0,1,0,0
'Access specification name,default assignment
    4 KiB; 50% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,50,0,0,1,0,0
'Access specification name,default assignment
    4 KiB; 25% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,25,0,0,1,0,0
'Access specification name,default assignment
    4 KiB; 0% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,0,0,0,1,0,0
'Access specification name,default assignment
    4 KiB aligned; 100% Read; 100% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,100,100,0,1,4096,0
'Access specification name,default assignment
    4 KiB aligned; 50% Read; 100% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,50,100,0,1,4096,0
'Access specification name,default assignment
    4 KiB aligned; 0% Read; 100% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,0,100,0,1,4096,0
'Access specification name,default assignment
    16 KiB; 100% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    16384,100,100,0,0,1,0,0
'Access specification name,default assignment
    16 KiB; 75% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    16384,100,75,0,0,1,0,0
'Access specification name,default assignment
    16 KiB; 50% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    16384,100,50,0,0,1,0,0
'Access specification name,default assignment
    16 KiB; 25% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    16384,100,25,0,0,1,0,0
'Access specification name,default assignment
    16 KiB; 0% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    16384,100,0,0,0,1,0,0
'Access specification name,default assignment
    32 KiB; 100% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    32768,100,100,0,0,1,0,0
'Access specification name,default assignment
    32 KiB; 75% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    32768,100,75,0,0,1,0,0
'Access specification name,default assignment
    32 KiB; 50% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    32768,100,50,0,0,1,0,0
'Access specification name,default assignment
    32 KiB; 25% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    32768,100,25,0,0,1,0,0
'Access specification name,default assignment
    32 KiB; 0% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    32768,100,0,0,0,1,0,0
'Access specification name,default assignment
    64 KiB; 100% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    65536,100,100,0,0,1,0,0
'Access specification name,default assignment
    64 KiB; 50% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    65536,100,50,0,0,1,0,0
'Access specification name,default assignment
    64 KiB; 0% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    65536,100,0,0,0,1,0,0
'Access specification name,default assignment
    256 KiB; 100% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    262144,100,100,0,0,1,0,0
'Access specification name,default assignment
    256 KiB; 50% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    262144,100,50,0,0,1,0,0
'Access specification name,default assignment
    256 KiB; 0% Read; 0% random,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    262144,100,0,0,0,1,0,0
'Access specification name,default assignment
    All in one,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    512,4,100,0,0,1,0,0
    512,4,75,0,0,1,0,0
    512,4,50,0,0,1,0,0
    512,4,25,0,0,1,0,0
    512,4,0,0,0,1,0,0
    4096,4,100,0,0,1,0,0
    4096,4,75,0,0,1,0,0
    4096,4,50,0,0,1,0,0
    4096,4,25,0,0,1,0,0
    4096,4,0,0,0,1,0,0
    4096,4,100,100,0,1,4096,0
    4096,4,50,100,0,1,4096,0
    4096,4,0,100,0,1,4096,0
    16384,3,100,0,0,1,0,0
    16384,3,75,0,0,1,0,0
    16384,3,50,0,0,1,0,0
    16384,3,25,0,0,1,0,0
    16384,3,0,0,0,1,0,0
    32768,3,100,0,0,1,0,0
    32768,3,75,0,0,1,0,0
    32768,3,50,0,0,1,0,0
    32768,3,25,0,0,1,0,0
    32768,3,0,0,0,1,0,0
    65536,3,100,0,0,1,0,0
    65536,3,50,0,0,1,0,0
    65536,3,0,0,0,1,0,0
    262144,3,100,0,0,1,0,0
    262144,3,50,0,0,1,0,0
    262144,3,0,0,0,1,0,0
'Access specification name,default assignment
    Fill,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,0,30,0,1,4096,0
'Access specification name,default assignment
    8020 fill,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    4096,100,0,20,0,1,4096,0
'Access specification name,default assignment
    Write Saturation,NONE
'size,% of size,% reads,% random,delay,burst,align,reply
    1048576,100,0,0,0,1,1048576,0
'END access specifications
'MANAGER LIST ==================================================================
'Manager ID, manager name
    1,X570
'Manager network address
    
'Worker
    Worker 1
'Worker type
    DISK
'Default target settings for worker
'Number of outstanding IOs,test connection rate,transactions per connection,use fixed seed,fixed seed value
    32,DISABLED,1,DISABLED,0
'Disk maximum size,starting sector,Data pattern
    0,0,2
'End default target settings for worker
'Assigned access specs
    Write Saturation
'End assigned access specs
'Target assignments
'Target
    0: ""
'Target type
    DISK
'End target
'End target assignments
'End worker
'End manager
'END manager list
Version 1.1.0
 
No chance that these things could be broken up into technology such as Gen 3, Gen 4, Gen 5 when you redo this in the future?

Or, and here me out, have the columns sortable or even filterable?
 
No chance that these things could be broken up into technology such as Gen 3, Gen 4, Gen 5 when you redo this in the future?

Or, and here me out, have the columns sortable or even filterable?
LOL, I wish! Our tables and CMS in general are lacking in some key features. I could totally write the JavaScript necessary to make the tables sortable... but there's no way for me to put JS code into our pages right now. That's not something the CMS developers want to enable.

As for PCIe 3.0/4.0/5.0, I will note that everything I have tested since starting to do the SSD testing has been PCIe 4.0 or 5.0. There are older PCIe 3.0 drives that were tested on the same system still kicking about here and there, but not very many. You can of course just do CTRL+F and type "PCIe 3.0" to highlight those drives in the specs list. I just tried that and it's pretty functional — not ideal, but if anyone really wanted to specifically look for PCIe 3.0 / 4.0 / 5.0 it's not much of a step.
 
LOL, I wish! Our tables and CMS in general are lacking in some key features. I could totally write the JavaScript necessary to make the tables sortable... but there's no way for me to put JS code into our pages right now. That's not something the CMS developers want to enable.

As for PCIe 3.0/4.0/5.0, I will note that everything I have tested since starting to do the SSD testing has been PCIe 4.0 or 5.0. There are older PCIe 3.0 drives that were tested on the same system still kicking about here and there, but not very many. You can of course just do CTRL+F and type "PCIe 3.0" to highlight those drives in the specs list. I just tried that and it's pretty functional — not ideal, but if anyone really wanted to specifically look for PCIe 3.0 / 4.0 / 5.0 it's not much of a step.
Much appreciated. Apparently it does not matter much for me after looking up my mother board, apparently I have 2 slots that are PCIe 5 that i thought were PCIe4.
 
  • Like
Reactions: JarredWaltonGPU