Original Link: http://www.anandtech.com/show/6737/micron-p400m-review-200gb
Micron P400m Review (200GB)by Anand Lal Shimpi on February 13, 2013 12:00 AM EST
Micron has remained one of the more stable players in the SSD space over the past few years. Although not typically at the top of our charts, Micron (and its consumer brand, Crucial) have generally paired the latest in NAND technology with custom firmware that’s well validated. It sounds like a simple combination, but it’s so rarely found in an industry that’s growing quickly enough to both those that are first to market as well as those that are most reliable.
Lately, Micron has been trying to make more of a splash in the market. Earlier this year it announced the first consumer SSD to feature 128Gbit MLC NAND die, the M500. Through aggressive pricing on its end, Micron hopes to be able to deliver a 960GB M500 for less than $600. Whether or not this is realistic remains to be seen, but the fact of the matter remains that this is a level of aggression we hadn’t seen previously from Micron.
On the enterprise front, Micron is looking to fill a gap in its product lineup. In the 2.5” SATA form factor, Micron really only had two offerings: the dated SLC-based P300, and the entry level P400e. The former was built for a market that has increasingly moved to high-endurance MLC NAND, while the latter wasn’t robust enough to deal with any of the more write-heavy enterprise environments. Filling the gap is the drive we’re looking at today: Micron’s P400m.
|NAND||25nm Micron XPERT MLC NAND|
|Sequential Read/Write||380/200 MBps||380/310 MBps||380/310 MBps|
|Random Read/Write||52K/21K IOPS||54K/26K IOPS||60K/26K IOPS|
Like many Micron drives before it, the P400m uses a Marvell controller coupled with Micron developed firmware and Micron manufactured NAND. For the uninitiated, Intel and Micron have a joint venture (IMFT) that produces NAND which is then used by both companies as well as sold to others. Allegedly, Intel and Micron save the best NAND for themselves, giving them a slight edge in the endurance department (I’ll get to this momentarily).
The P400m features Marvell’s latest high-end SATA to NAND Flash controller, the 88S9187. The P400e before it used the 889174. These part numbers should look pretty familiar as they’ve been used by everyone from Intel to Plextor. The differentiation in the firmware, validation and NAND of course.
The 9187 controller is passively cooled, but Marvell slapped a thermal pad on the chip to help use the drive’s 7mm chassis to dissipate heat. Adjacent to the controller is a 256MB DDR3-1333 DRAM for firmware and indirection table caching.
The P400m is available in three capacities: 100GB, 200GB and 400GB. Micron sent along a 200GB model, which features sixteen NAND packages. A quick look at the part numbers reveals something interesting however: there’s no known record of the 2-bit-per-cell MLC NAND used on this P400m.
Micron has an explanation: the P400m uses Micron’s custom 25nm MLC NAND that isn’t available for purchase by other vendors. It’s called XPERT (eXtended Performance and Enhanced Reliability Technology), and is akin to Intel’s MLC with High Endurance Technology. The P400m’s XPERT NAND leverages a handful of technologies that we’ve seen before in enterprise drives. Micron does some DSP-like work on the NAND over time to compensate for drift in cell read/program voltages. There’s a RAID 5-like redundancy algorithm in effect across all NAND channels. Finally, Micron performs CRC and ECC checks on all memories in the P400m’s data path.
The P400m uses NAND binned for endurance. Micron also does its own testing on the NAND to weed out any premature failures.
Like many other enterprise SSDs targeted at write heavy workloads, the P400m features a lot of spare area. The 200GB sample Micron sent over features 16 NAND packages. Decoding the part number on each package tells us that we’re dealing with four 25nm MLC NAND die per package. The capacity per die is unique at 42Gbit. Doing the math we end up with 336GiB of NAND on a 200GB P400m.
|Micron P400m Endurance|
|Total NAND On-board||168 GiB||336 GiB||672 GiB|
|User Capacity in GiB||93.1 GiB||186.3 GiB||372.6 GiB|
|Rated Endurance (Drive Writes per Day)||10DW per day x 5 years||
10DW per day
x 5 years
10DW per day
x 5 years
|Endurance in PB||1.75 PB||3.0 PB||7.0 PB|
This is a lot more NAND than you get with Intel’s S3700, and even more than Intel shipped on the 710. The added NAND helps keep write amplification low, and endurance up. The P400m is rated for between 1.75PB - 7PB total writes over the lifetime of the drive. These ratings are determined using worst case write amplification (full span 4KB random writes), so many workloads will see even better longevity out of the drive.
Micron added power loss protection to the P400m. The company claims that all writes in flight will be committed to NAND in the event of sudden power failure.
|Intel's SSD DC S3700 vs. Micron P400m (200GB)|
|Total NAND On-board||264 GiB||336 GiB|
|User Capacity in GiB||186.3 GiB||186.3 GiB|
|Sequential Read/Write||500 / 460 MBps||380 / 310 MBps|
|Random Read/Write||75K / 32K IOPS||54K / 26K IOPS|
|Endurance in PB||3.65 PB||3.0 PB|
In many senses the P400m is Micron’s answer to Intel’s S3700. Update: Micron tells us that the initial pricing guidance on the P400m was incorrect. Micron isn't providing updated pricing information at this time, other than to say it will be competitive.
Over the years we've seen SSD makers shift focus from sequential performance, to random performance and more recently towards IO consistency. Prolonged random IO can create a ton of fragmentation both in the NAND and, if applicable, in a SSD's indirection table. A drive without a powerful enough controller, a smart enough algorithm and/or enough spare area will see tremendous variance between even adjacent IOs. Inconsistent IO latency can result in inconsistent application performance, which for a web-facing server can manifest itself as inconsistent page load times for your users. Even more visible are in situations where your server is delivering visual content to your users. Inconsistent drive latency here can appear, in the worst case, as stutters in playback or even loss of quality (if your application dynamically adjusts streaming quality based on server performance). If you're running a large array of SSDs, the total performance of the array is bound by the slowest drive - in the case of an array of drives with highly variable performance, that minimum level of performance can actually end up being far slower than you're expecting.
Performance consistency matters, but it requires a somewhat different methodology to analyze. We focus on random write latency as that's really the worst case scenario for IO variance. Reads are fairly consistent, as are sequential writes. It's random writes that cause problems.
To generate the data below I took a freshly secure erased SSD and filled it with sequential data. This ensures that all user accessible LBAs have data associated with them. Next I kicked off a 4KB random write workload at a queue depth of 32 using incompressible data. I ran the test for just over half an hour, no where near what we run our steady state tests for but enough to give me a good look at drive behavior once all spare area filled up.
I recorded instantaneous IOPS every second for the duration of the test. I then plotted IOPS vs. time and generated the scatter plots below. Each set of graphs features the same scale. The first two sets use a log scale for easy comparison, while the last set of graphs uses a linear scale that tops out at 40K IOPS for better visualization of differences between drives.
The first set of graphs shows the performance data over the entire 2000 second test period. In these charts you'll notice an early period of very high performance followed by a sharp dropoff. What you're seeing in that case is the drive alllocating new blocks from its spare area, then eventually using up all free blocks and having to perform a read-modify-write for all subsequent writes (write amplification goes up, performance goes down).
The second set of graphs zooms in to the beginning of steady state operation for the drive (t=1400s). The third set also looks at the beginning of steady state operation but on a linear performance scale. Click the buttons below each graph to switch source data.
At a high level, the P400m actually looks really good. Thanks to tons of spare area on the drive by default, performance until the 600 second marker is incredibly consistent. After that point things get a bit more erratic but compared to the P400e this drive is in a completely different league of performance consistency. Intel's S3700 is a bit better here, but the P400m is a clear step in the right direction.
The next set of charts look at the steady state (for most drives) portion of the curve. Here we'll get some better visibility into how everyone will perform over the long run.
Looking closer we see a clear improvement in consistency over the P400e. The P400m is truly an upgrade for customers who have write heavy workloads (e.g. high traffic database servers).
The final set of graphs abandons the log scale entirely and just looks at a linear scale that tops out at 40K IOPS. We're also only looking at steady state (or close to it) performance here:
It's interesting that consistency seems to improve over time after falling behind a bit. We really hit the worst inconsistency early on here, and even then it's no where near as bad as on the P400e. Intel's S3700 maintains a tighter distribution of IOPS however.
Random Read/Write Speed
Although random write consistency is an important part of the any enterprise SSD story, read performance is also very important. Here we're looking at 4KB random read performance over a 100% LBA span at a queue depth of 32:
The P400m shows a tremendous increase in performance over the P400e. I'd almost argue that these two drives shouldn't carry such similar names given how differently they perform here. Intel's S3700 manages 22% better random read performance, but if random read performance is really the name of your game then Toshiba's SAS drive has everything else beat.
For the past few years we've been using 4KB random write performance as a measure of how advanced a controller is. Big multi-user (or virtualized) enterprise workloads almost always look fully random at a distance, which is why we use steady state random write performance as a key metric. The results below take hours to generate per drive and are truly an indication of steady state performance for 4KB random writes (100% LBA space):
As far as 2.5" enterprise SATA drives are concerned, Intel's S3700 broke new ground in steady state 4KB random write performance. Micron's P400m isn't too far behind though. Intel maintains a 20% performance advantage, but the P400m puts nearly everything else in our chart to shame. Once again the comparison to the P400e is like night and day.
Sequential Read/Write Speed
Similar to our other Enterprise Iometer tests, queue depths are much higher in our sequential benchmarks. To measure sequential performance I ran a 1 minute long 128KB sequential test over the entire span of the drive at a queue depth of 32. The results reported are in average MB/s over the entire test length.
This is the only area where the P400e manages to slightly outperform the P400m. The margin of victory isn't enough to ever recommend the P400e over the P400m, but it just shows how Micron's focus has shifted between these drives. Intel and Toshiba hold the performance advantage here over Micron, but all of these drives are at least within the same realm of performance.
Switch our focus to writes and the P400m and S3700 are alone at the top. Once again the P400m puts the P400e to shame, its sequential write performance is over 5x that of Micron's previous drive. Intel maintains a 9% performance advantage here.
Enterprise Storage Bench - Microsoft SQL UpdateDailyStats
Our next two tests are taken from our own internal infrastructure. We do a lot of statistics tracking at AnandTech - we record traffic data to all articles as well as aggregate traffic for the entire site (including forums) on a daily basis. We also keep track of a running total of traffic for the month. Our first benchmark is a trace of the MS SQL process that does all of the daily and monthly stats processing for the site. We run this process once a day as it puts a fairly high load on our DB server. Then again, we don't have a beefy SSD array in there yet :)
The UpdateDailyStats procedure is mostly reads (3:1 ratio of GB reads to writes) with 431K read operations and 179K write ops. Average queue depth is 4.2 and only 34% of all IOs are issued at a queue depth of 1. The transfer size breakdown is as follows:
|AnandTech Enterprise Storage Bench MS SQL UpdateDaily Stats IO Breakdown|
|IO Size||% of Total|
With a significant improvement to sequential write speed, combined with competitive sequential read speed, the P400m manages to tangibly outperform the P400e. Intel's S3700 remains the fastest 2.5" SATA drive we've tested here.
A look at average service time shows the P400m as having very competitive latency to even the best Intel has to offer. Keep in mind that not all workloads are as latency sensitive as our IO consistency test. For those that are more latency tolerant, the P400m and S3700 look far more similar than you'd think.
Enterprise Storage Bench - Microsoft SQL WeeklyMaintenance
Our final enterprise storage bench test once again comes from our own internal databases. We're looking at the stats DB again however this time we're running a trace of our Weekly Maintenance procedure. This procedure runs a consistency check on the 30GB database followed by a rebuild index on all tables to eliminate fragmentation. As its name implies, we run this procedure weekly against our stats DB.
The read:write ratio here remains around 3:1 but we're dealing with far more operations: approximately 1.8M reads and 1M writes. Average queue depth is up to 5.43.
The read heavy nature of both of these SQL tests has the P400m and P400e performing very similarly. Here Intel pulls ahead by a healthy 32%.
Once again we see very competitive latency figures out of the P400m. Micron's latest isn't quite as good as the S3700 when it comes to latency, but it's in good company.
Power consumption for enterprise drives isn't as sensitive as it is in the mobile space. The P400m ends up being the most power hungry drive here, but even in its worst case the P400m is still better off than a high-end enterprise mechanical drive.
With the P400m Micron enters a new realm of competition. While the P400e was enterprise in name, the P400m is enterprise in its performance. Write consistency has improved tremendously as has write performance in general. If you have an enterprise workload that's very write intensive (think database servers, write caches), the P400m should be up to snuff.
The P400m doesn't dramatically change read performance over the P400e, but the P400e wasn't bad in that department to begin with. The P400m really modernizes Micron's enterprise 2.5" SATA offering. Endurance, performance and consistency have all improved. Within Micron's family, the P400m's pricing is competitive as well.
Take a step back to include Intel's SSD DC S3700 however and the P400m is up against some stiff competition. Intel offers better write performance and better IO consistency. At a lower price than Intel's S3700, the P400m would be a very competitive solution. If it ends up more expensive than the S3700 however, the Intel solution is the better one. We'll have to see how this one plays out once P400m drives hit the market.