Original Link: https://www.anandtech.com/show/8430/pcie-ssd-faceoff-samsung-xp941-128gb-256gb-and-ocz-revodrive-350-480gb-reviewed
PCIe SSD Faceoff: Samsung XP941 (128GB & 256GB) and OCZ RevoDrive 350 (480GB) Tested
by Kristian Vättö on September 5, 2014 3:00 PM ESTWe are currently on the verge of PCIe transition. Nearly every SSD controller vendor has shown or at least talked about their upcoming PCIe designs, and the first ones should enter the market in early 2015. In the meantime, there are a couple of existing PCIe drives for the early adopters, namely Samsung XP941 and Plextor M6e, and a variety of RAID-based PCIe SSDs like the OCZ RevoDrive 350.
We already reviewed the 512GB Samsung XP941 in May and found it to be the fastest client SSD on the market, but today we are back with the 128GB and 256GB models. Since the XP941 is not limited by SATA 6Gbps interface, the capacity of the drive can have a substantial impact on performance, even between 256GB and 512GB models, because PCIe moves the bottleneck from the host interface to the actual NAND.
In addition to the smaller capacity XP941s, we are taking a look at OCZ's RevoDrive 350. Unlike the XP941, the RevoDrive 350 is not a native PCIe drive as it has several SATA 6Gbps SSD controllers in a RAID configuration to increase the performance over a standard SATA drive. The RevoDrive 350 is not a new drive since it was released back in April, but due to my finals I did not have the time to review it for the launch, but it makes sense to put it against the XP941 now.
Samsung XP941
The 128GB and 256GB XP941 both come in M.2 2280 form factor like the 512GB model. However, the 128GB and 256GB models are single-sided whereas the 512GB model has NAND packages on both sides of the PCB. As a result the 512GB is slightly thicker, but by eye I would say we are dealing with something in the order of 0.1mm (the 128GB and 256GB models do have some circuitry on the back side too, just not NAND packages). Some M.2 implementations (though mostly mobile) can have strict height restrictions, but the difference between the 128GB/256GB and 512GB XP941s is so tiny that it should not be a limitation, although you might want to check that your M.2 slot is suitable for the XP941 in the first place (the XP941 has max height of 3.73mm).
Samsung SSD XP941 Specifications | |||
Capacity | 128GB | 256GB | 512GB |
Interface | PCIe 2.0 x4 (AHCI) | ||
Controller | Samsung S4LNO53X01 | ||
NAND | Samsung 64Gbit 19nm MLC | ||
Sequential Read | 1000MB/s | 1080MB/s | 1170MB/s |
Sequential Write | 450MB/s | 800MB/s | 950MB/s |
4KB Random Read | 110K IOPS | 120K IOPS | 122K IOPS |
4KB Random Write | 40K IOPS | 60K IOPS | 72K IOPS |
Power (idle / active) | 0.08W / 5.8W | ||
Warranty | Three years (from RamCity) | ||
Online Pricing | $130 | $250 | $750 |
Thanks to RamCity for providing us with the 128GB, 256GB and 512GB Samsung XP941 samples!
Performance wise there are fairly large differences between capacities. The 128GB model provides less than half the sequential write performance of the 512GB model and 450MB/s is within the SATA performance envelope. Random write speed also experiences a substantial decrease, but read performance stays mostly the same. That is because of the way NAND works: reading is fast because the controller is just checking the charge in the cell, but writing is slow because you need to tunnel electrons through an insulator to create the actual charge in the cell.
As I mentioned in the original XP941 review, the SSD is not bootable on most motherboards. The drive does not have legacy BIOS drivers that load before the BIOS (like the RevoDrive 350 has), so it requires specific BIOS/UEFI code to be bootable. Fortunately the situation has improved since May and in addition to the ASRock Z97 Extreme6, most of ASUS' Z97 motherboards support booting from the XP941. RamCity has a good blog post about the supported motherboards and laptops, including some links to instructions in case the XP941 is not bootable by default. Furthermore, the XP941 is still bootable on a Mac Pro (except for the 2013 model) as we discovered in our original review.
All XP941s use Samsung's 64Gbit 19nm MLC NAND. The 128GB and 256GB models both have two NAND packages, so these are octal-die packages for the 128GB and 16-die packages for the 256GB.
Unfortunately, my 128GB sample died during the testing, so I do not have all benchmark scores for it. I am not 100% sure what killed the drive (it would not show up when I returned from Flash Memory Summit) but I am pretty sure it was secure erase. I am not the first one to experience this as RamCity was telling me that other reviewers have had the same problem and RamCity actually has a warning about using Parted Magic to secure erase the drive. I did not use Parted Magic but it looks like secure erase in general can break the XP941. I do not think this is a big issue for users because most will not be secure erasing the drive, but I still wanted to give a heads up and advise against secure erasing the XP941.
OCZ RevoDrive 350
The RevoDrive 350 is OCZ's first client PCIe SSD since the RevoDrive 3 (X2) back in 2011, but fundamentally the two are still very similar. Like the RevoDrive 3, the RevoDrive 350 is also based on two or four SandForce SF-2200 series controllers in a RAID array, but with the difference that the 350 uses SF-2282 controllers while the RevoDrive 3 used SF-2281. The two controllers are the same except for the channel width, which is 8 bytes in the SF-2281 and 16 bytes in the SF-2282. The 16-byte wide channel can talk to twice as many NAND die, which allows for larger capacities and can also provide some minor performance increases in scenarios where performance is limited by NAND channel bandwidth.
The RevoDrive 350 comes in three capacities with the capacity dictating the controller configuration. The 240GB model only has two SF-2282 controllers, although that makes sense because more controllers would not really improve performance at such a small capacity. With four controllers the 240GB model would only have 64GiB of NAND per controller, which would severely limit the potential performance of the controllers. The 480GB and 960GB models, on the other hand, feature a total of four SF-2282 controllers with 128GiB and 256GiB of NAND per controller respectively. Despite the different number of controllers, all capacities utilize the same PCIe 2.0 x8 interface.
OCZ RevoDrive 350 Specifications | |||
Capacity | 240GB | 480GB | 960GB |
Interface | PCIe 2.0 x8 | ||
Controller | 2x SF-2282 | 4x SF-2282 | |
NAND | Toshiba 64Gbit 19nm MLC | ||
Sequential Read | 1000MB/s | 1800MB/s | 1800MB/s |
Sequential Write | 950MB/s | 1700MB/s | 1700MB/s |
4KB Random Read | 45K IOPS | 90K IOPS | 135K IOPS |
4KB Random Write | 80K IOPS | 140K IOPS | 140K IOPS |
Power (Idle / Active) | 8.0W / 10.5W | 9.5W / 14.0W | 10.0W / 14.5W |
Encryption | AES-128 | ||
Endurance | 50GB per day for 3 years (54.75TB total) | ||
Warranty | Three years | ||
Online Pricing | $517 | $810 | $1260 |
The main reason OCZ updated its RevoDrive is to transition to Toshiba NAND. The RevoDrive 3 used NAND from Micron, but thanks to Toshiba's acquisition, OCZ now has direct NAND access and it no longer needs to seek for third party NAND. I think part of the deal was that OCZ transitions all of its products to Toshiba NAND because it would not make sense for Toshiba to support its competitors' NAND business.
The front side of the PCB is covered by a hefty metal heat sink. Removing the heat sink does not reveal the actual SF-2282 controllers but a series of NAND, power circuitry and the RAID controller. OCZ has labeled the RAID controller with its own logo but I was told the actual silicon comes from Marvell. A quick look at Marvell's lineup reveals that the controller is most likely 88SE9548, which is a 4-port SAS/SATA 6Gbps RAID controller with PCIe 2.0 x8 interface, and would thus fit the description. The firmware is still à la OCZ, though.
Officially OCZ calls the controller Virtualized Controller Architecture (VCA) 2.0. With its own driver and firmware, OCZ treats data differently from a regular RAID-0 controller by not having a striping nature. Instead of having a set stripe size and distributing data evenly across the controllers, the VCA incorporates internal IO queues to distribute the IOs between the controllers. The benefit is that this way OCZ can have better control over every controller and can also ensure that one member in the array is not writing more data than the others.
The unique driver and firmware also allow the RevoDrive 350 to support TRIM, SMART, and secure erase while typical RAID controllers do not allow those features. The RevoDrive is also bootable because the legacy drivers are loaded before the motherboard BIOS, so it can be selected as a boot device like any other drive.
On the back side we find the SF-2282 controllers along with more NAND packages. I counted 32 NAND packages in total (i.e. 512GiB of NAND), which means that each package must be 16GiB with two 8GiB dies inside.
Test Setup
CPU | Intel Core i5-2500K running at 3.3GHz (Turbo & EIST enabled) |
Motherboard | AsRock Z68 Pro3 |
Chipset | Intel Z68 |
Chipset Drivers | Intel 9.1.1.1015 + Intel RST 10.2 |
Memory | G.Skill RipjawsX DDR3-1600 4 x 8GB (9-9-9-24) |
Video Card | Palit GeForce GTX 770 JetStream 2GB GDDR5 (1150MHz core clock; 3505MHz GDDR5 effective) |
Video Drivers | NVIDIA GeForce 332.21 WHQL |
Desktop Resolution | 1920 x 1080 |
OS | Windows 7 x64 |
Thanks to G.Skill for the RipjawsX 32GB DDR3 DRAM kit
Performance Consistency
Performance consistency tells us a lot about the architecture of these SSDs and how they handle internal defragmentation. The reason we do not have consistent IO latency with SSDs 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 dropdown selections 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.
Default | |||||||||
25% Over-Provisioning |
The 256GB XP941 shows similar behavior as the 512GB model but with slightly lower performance. While the 512GB XP941 manages about 5,000 IOPS in steady-state, the 256GB model drops to ~3,000 IOPS. It is worth noting that the 256GB 850 Pro does over twice that, and while some of that can be firmware/controller related, most of the difference is coming from V-NAND and its lower program and erase latencies. The low-ish performance can be fixed by adding over-provisioning, though, as with 25% over-provisioning the 256GB XP941 goes above 20,000 IOPS (although the 512GB model is still quite a bit faster).
The RevoDrive, on the other hand, is a rather unique case. Since it has multiple controllers in parallel, the performance exceeds 100,000 IOPS at first, which is why I had to increase the scale of its graphs. Even after the initial burst the RevoDrive continues at nearly 100,000 IOPS, although at about 1,200 seconds that comes to an end. Taking that long to reach steady-state is rather common for SandForce based drives, but when the controller hits the wall, it hits it hard.
After 1,200 seconds, the RevoDrive's IOs are scattered all over the place. There are still plenty happening at close to 100,000 IOPS and most stay above 10,000, but with such high variation I would not call the RevoDrive very consistent. It is better than a single drive for sure, but I think OCZ's RAID firmware is causing some inconsistency and with the potential of four controllers, I would like to see higher consistency in performance. The fact that increasing over-provisioning does not help with the consistency supports the theory that the RAID firmware is the cause.
Default | |||||||||
25% Over-Provisioning |
Default | |||||||||
25% Over-Provisioning |
TRIM Validation
I already tested TRIM with the 512GB XP941 and found it to be functional under Windows 8.1 (but not with Windows 7), so it is safe to assume that this applies to the rest of the XP941 lineup as well.
As for the RevoDrive, I turned to our regular TRIM test suite for SandForce drives. First I filled the drive with incompressible sequential data, which was followed by 30 minutes of incompressible 4KB random writes (QD32). To measure performance before and after TRIM, I ran a one-minute incompressible 128KB sequential write pass.
Iometer Incompressible 128KB Sequential Write | |||
Clean | Dirty | After TRIM | |
OCZ RevoDrive 350 480GB | 447.1MB/s | 157.1MB/s | 306.4MB/s |
Typical to SandForce SSDs, TRIM recovers some of the performance but does not return the drive back to its clean state. The good news here is that the drive does receive the TRIM command, which is something that not all PCIe and RAID solutions currently support.
AnandTech Storage Bench 2013
Our Storage Bench 2013 focuses on worst-case multitasking and IO consistency. Similar to our earlier Storage Benches, the test is still application trace based – we record all IO requests made to a test system and play them back on the drive we are testing and run statistical analysis on the drive's responses. There are 49.8 million IO operations in total with 1583.0GB of reads and 875.6GB of writes. I'm not including the full description of the test for better readability, so make sure to read our Storage Bench 2013 introduction for the full details.
AnandTech Storage Bench 2013 - The Destroyer | ||
Workload | Description | Applications Used |
Photo Sync/Editing | Import images, edit, export | Adobe Photoshop CS6, Adobe Lightroom 4, Dropbox |
Gaming | Download/install games, play games | Steam, Deus Ex, Skyrim, Starcraft 2, BioShock Infinite |
Virtualization | Run/manage VM, use general apps inside VM | VirtualBox |
General Productivity | Browse the web, manage local email, copy files, encrypt/decrypt files, backup system, download content, virus/malware scan | Chrome, IE10, Outlook, Windows 8, AxCrypt, uTorrent, AdAware |
Video Playback | Copy and watch movies | Windows 8 |
Application Development | Compile projects, check out code, download code samples | Visual Studio 2012 |
We are reporting two primary metrics with the Destroyer: average data rate in MB/s and average service time in microseconds. The former gives you an idea of the throughput of the drive during the time that it was running the test workload. This can be a very good indication of overall performance. What average data rate doesn't do a good job of is taking into account response time of very bursty (read: high queue depth) IO. By reporting average service time we heavily weigh latency for queued IOs. You'll note that this is a metric we have been reporting in our enterprise benchmarks for a while now. With the client tests maturing, the time was right for a little convergence.
While the average data rates of the 256GB XP941 and RevoDrive are not that impressive, the average service times are. The average service time of the 256GB XP941 is nearly half of the same capacity 850 Pro and the RevoDrive too is faster than any SATA SSD, though the 512GB XP941 is still faster. The service time emphasizes high queue depth performance, which is often the stumbling stone for slower and cheaper drives, and that in turn increases their average service time.
AnandTech Storage Bench 2011
Back in 2011 (which seems like so long ago now!), we introduced our AnandTech Storage Bench, a suite of benchmarks that took traces of real OS/application usage and played them back in a repeatable manner. The MOASB, officially called AnandTech Storage Bench 2011 – Heavy Workload, mainly focuses on peak IO performance and basic garbage collection routines. There is a lot of downloading and application installing that happens during the course of this test. Our thinking was that it's during application installs, file copies, downloading and multitasking with all of this that you can really notice performance differences between drives. The full description of the Heavy test can be found here, while the Light workload details are here.
In our 2011 suite the 256GB XP941 is still strong, but the 128GB model and RevoDrive 350 are no better than a SATA drive. The 128GB XP941 simply lacks parallelism because of its small capacity, whereas the RevoDrive is better suited for very intensive workloads (like the 2013 suite). The average service times (although not graphed here) are still better than what SATA drives offer, but the truth is that a RAID array will only help if there are more IO to process i.e. in high queue depth and large transfer situations.
Random Read/Write Speed
The four corners of SSD performance are as follows: random read, random write, sequential read and sequential write speed. Random accesses are generally small in size, while sequential accesses tend to be larger and thus we have the four Iometer tests we use in all of our reviews.
Our first test writes 4KB in a completely random pattern over an 8GB space of the drive to simulate the sort of random access that you'd see on an OS drive (even this is more stressful than a normal desktop user would see). We perform three concurrent IOs and run the test for 3 minutes. The results reported are in average MB/s over the entire time.
Random read performance remains unchanged for the XP941 despite the lower capacity, while the RevoDrive does not really enjoy any performance increase over other SandForce based SSDs.
As for random write, the 256GB XP941 appears to be almost a match for the 512GB. The RevoDrive is a fairly interesting case because at low queue depths its performance is pretty bad, but the performance scales with the queue depth. Again, RAID only helps when there are multiple IOs in parallel, which only happens at high queue depths. At low queue depths RAID only seems to cause overhead, which would explain the low performance.
Sequential Read/Write Speed
To measure sequential performance we run a 1 minute long 128KB sequential test over the entire span of the drive at a queue depth of 1. The results reported are in average MB/s over the entire test length.
The XP941 continues to be strong, but the RevoDrive still does not offer much benefit over a SATA drive. We are dealing with a QD1 situation here so the RevoDrive cannot really take advantage of its internal parallelism.
AS-SSD Incompressible Sequential Read/Write Performance
The AS-SSD sequential benchmark uses incompressible data for all of its transfers. The result is a pretty big reduction in sequential write speed on SandForce based controllers, but most other controllers are unaffected.
Performance vs. Transfer Size
ATTO is a useful tool for quickly benchmarking performance across various transfer sizes. You can get the complete data set in Bench. The ATTO graphs highlight the biggest issue the RevoDrive has. At small transfer sizes the performance is substantially lower than what SATA drives offer and it is only at 128KB where the RevoDrive starts to benefit from PCIe and RAID. It does close to 2GB/s with 8MB transfer size but for users that figure is fairly meaningless because IOs that large are rare.
Click for full size
Final Words
Since we are dealing with two fairly different drives, I will split the conclusion into two by beginning with the XP941. The XP941 is still the fastest client SSD and while the 256GB model does not provide the same performance as the 512GB one, it is still faster than any SATA 6Gbps SSD by a hefty margin. The 128GB XP941 is a different story, though. It is not really faster than the 128GB 850 Pro because at such small capacity the performance is mostly NAND limited, except for large sequential read transfers where the SATA 6Gbps interface is the bottleneck.
The good news is that RamCity has lowered its pricing since May. The XP941 still carries a premium over SATA SSDs, but it is now more competitive in price at less than a dollar per gigabyte. For US-based customers, finding the XP941 in stock can be a bit difficult; Newegg has both the 128GB and 256GB models listed, but they're on backorder; meanwhile the 512GB model is in stock at Amazon, but only at a highly inflated price of $750.
Price Comparison (9/4/2014) | |||||||||
120/128GB | 240/256GB | 480/512GB | 960GB/1TB | ||||||
Samsung SSD XP941 | $127 | $252 | $486 | - | |||||
Plextor M6e | $120 | $220 | $420 | - | |||||
OCZ RevoDrive 350 | - | $517 | $810 | $1,260 | |||||
Samsung SSD 850 Pro | $130 | $200 | $400 | $700 | |||||
SanDisk Extreme Pro | - | $180 | $350 | $570 |
The RevoDrive is a totally different case. The performance is only better in some corner cases where the drive is fed with high queue depth or large transfer data, and in most typical scenarios it is outperformed by SATA 6Gbps SSDs. In the end, the RevoDrive 350 is nothing more than a pre-built 4-drive RAID array, so it is only faster in cases where RAID in general is a benefit (e.g. heavily parallel IO workloads).
Not only is the RevoDrive relatively slow, it is also super expensive. For the price of the 240GB RevoDrive 350, you could get four 128GB 850 Pros with twice the total capacity and higher performance since the 850 Pro is faster than any single SandForce drive. The same goes for higher capacity RevoDrives too -- it is simply way more affordable to buy a bunch of SATA SSDs and build your own RAID array. Even if you do not know how to create a RAID array, I am sure you can find someone to do it for $50, in which case you would still save money and get a faster RAID array with better drives.
All in all, for those who are in the market for a PCIe SSD, the XP941 is the only serious option. It is the fastest client SSD on the market and as long as your motherboard includes boot support for it, it is the best client drive that money can buy at the moment. I am very excited to get my hands on the SM951 (and other native PCIe SSDs) because the XP941 is already great, but when you add PCIe 3.0, NVMe, and V-NAND to the mix it will be one hell of a drive.