Samsung SSD XP941 Review: The PCIe Era Is Here
by Kristian Vättö on May 15, 2014 12:00 PM ESTPerformance Consistency
Performance consistency tells us a lot about the architecture of these SSDs and how they handle internal defragmentation. The reason we don’t have consistent IO latency with SSD is because inevitably all controllers have to do some amount of defragmentation or garbage collection in order to continue operating at high speeds. When and how an SSD decides to run its defrag or cleanup routines directly impacts the user experience as inconsistent performance results in application slowdowns.
To test IO consistency, we fill a secure erased SSD with sequential data to ensure that all user accessible LBAs have data associated with them. Next we kick off a 4KB random write workload across all LBAs at a queue depth of 32 using incompressible data. The test is run for just over half an hour and we record instantaneous IOPS every second.
We are also testing drives with added over-provisioning by limiting the LBA range. This gives us a look into the drive’s behavior with varying levels of empty space, which is frankly a more realistic approach for client workloads.
Each of the three graphs has its own purpose. The first one is of the whole duration of the test in log scale. The second and third one zoom into the beginning of steady-state operation (t=1400s) but on different scales: the second one uses log scale for easy comparison whereas the third one uses linear scale for better visualization of differences between drives. Click the buttons below each graph to switch the source data.
For more detailed description of the test and why performance consistency matters, read our original Intel SSD DC S3700 article.
Samsung SSD XP941 | Plextor M6e | Samsung SSD 840 Pro | SanDisk Extreme II | Samsung SSD 840 EVO mSATA | |||||
Default | |||||||||
25% Spare Area |
The interface has never been the bottleneck when it comes to random write performance, especially in steady-state. Ultimately the NAND performance is the bottleneck, so without faster NAND we aren't going to see any major increases in steady-state performance.
The graphs above and below illustrate this as the XP941 isn't really any faster than the SATA 6Gbps based 840 Pro. Samsung has made some tweaks to their garbage collection algorithms and overall the IO consistency gets a nice bump over the 840 Pro but still, this is something we've already seen with SATA 6Gbps SSDs. I wouldn't say the IO consistency is outstanding because the Plextor M6e does slightly better with the default over-provisioning (both drives have ~7%) but if you increase the over-provisioning the XP941 will show its magic.
Samsung SSD XP941 | Plextor M6e | Samsung SSD 840 Pro | SanDisk Extreme II | Samsung SSD 840 EVO mSATA | |||||
Default | |||||||||
25% Spare Area |
Samsung SSD XP941 | Plextor M6e | Samsung SSD 840 Pro | SanDisk Extreme II | Samsung SSD 840 EVO mSATA | |||||
Default | |||||||||
25% Spare Area |
TRIM Validation
Update 5/20: I got an email from one of our readers suggesting that the TRIM issue might be related to Windows 7 and that Windows 8 should have functioning TRIM for PCIe SSDs. To try this, I installed Windows 8.1 to a secondary drive and ran our regular pre-conditioning (fill with sequential data and torture with 4KB random write for 60 minutes). To measure performance, I had to rely on Iometer as HD Tach didn't work properly under Windows 8. I ran the same 128KB sequential write test that we usually run (QD=1, 100% LBA) but extended the length to 10 minutes to ensure that the results are steady and not affected by burst performance.
Samsung SSD XP941 512GB - Iometer 128KB Sequential Write (QD1) | ||
Clean | After TRIM | |
Samsung SSD XP941 512GB | 607.7 MB/s | 598.9 MB/s |
And TRIM seems to function as it should, so it indeed looks like this is just a Windows 7 limitation, which is excellent news.
------------------------
To test TRIM, I took a secure erased XP941 and filled it with sequential data, followed by a 60-minute torture with 4KB random writes (QD32). After the torture, I TRIM'ed all user-accessible LBAs and ran HD Tach to produce the graph below:
It looks like TRIM isn't functional, although I'm not that surprised. I'm waiting to hear back from Samsung about whether this is a limitation in the operating system because I've heard that Windows doesn't treat PCIe drives the same even if they utilize the same AHCI software stack like the XP941 does. If that's true, we'll need either updates to Windows or some other solution.
In a Mac TRIM support is listed as "yes" when TRIM is enabled for third party drives using TRIM Enabler, though I didn't have the time to verify if it actually works.
110 Comments
View All Comments
bharatwd - Thursday, May 15, 2014 - link
Hope something with these speeds comes in sata express.........however im gonna pick one of these as soon as it becomes available....im planning to buy z97 anyways :)mikeangs2004 - Thursday, May 15, 2014 - link
sata is being replaced by m.2. You're outdatedGalatian - Thursday, May 15, 2014 - link
No, you are...he is talking about SATA Express...M.2 is essentially the small form factor connector of SATA Express.Babar Javied - Thursday, May 15, 2014 - link
So use SATA Express when the M.2 is just as good? Also, you don't have to worry about the ugly SATA Express.I am still a little unclear on how SATA express works exactly but from what I understand is that SATA Express requires two PCIe lanes and only operates at x2 speeds whereas this can use the x4 lane. Plus, the M.2 form factor is much smaller than 2.5" used by SATA SSDs. Not that there isn't enough room in a desktop/laptop for a 2.5" drive but if there is no difference in performance why not get the physically small drive?
Again, i could be wrong about the lane speeds so please correct me if I am.
thanks
basroil - Thursday, May 15, 2014 - link
M.2 is a form factor and connector specification, it supports SATA Express, like in this caseSirKnobsworth - Thursday, May 15, 2014 - link
Not quite - SATA express defines an interface for PCIe x2 and 2 SATA ports to share the same pins one one connector. This particular flavor of M.2 just happens to implement PCIe x2 and SATA, but on separate pins.basroil - Friday, May 16, 2014 - link
Meant to say SATA Express supports M.2 rather than the other way around. And it's not just PCIe x2, the M.2 format currently supports up to x4, but the intel chipset and SATA 3.2 don't support above x2 just yet. In M.2, SATA is B and M keys, while PCIe is A B E and M (x4 ) keys, so SATA and PCIe do share some pins (but like you said, not in all cases)Galatian - Friday, May 16, 2014 - link
I don't really think it has anything to do with the Intel chipset. The mainboard manufactures are free to allocate the FlexIO how they like. They can use up to 8 x PCIe lanes, but of course have to reduce the SATA and/or USB ports then. Also the PCIe lanes are used for other things as well like the Intel Gigabit Ethernet port I think.Still I think for a top of the line mainboard it makes more sense to go for the x4 implementation and have a few SATA ports less.
basroil - Friday, May 16, 2014 - link
"I don't really think it has anything to do with the Intel chipset."The chipset does currently support only 2 lanes since the 3.2 specification is meant for 2 lanes, and Intel RST only supports 2 lanes. ASRock bypassed the chipset in it's 4 lane implementation, so it has nothing to do with flex IO (which is the chipset allowing more USB3.0 or SATA, or other things).
SirKnobsworth - Friday, May 16, 2014 - link
Right - x4 from the chipset would probably work just fine but you couldn't use it as a cache.