Seagate 2nd Generation Momentus XT (750GB) Hybrid HDD Reviewby Anand Lal Shimpi on December 13, 2011 12:51 AM EST
To say I liked the original Momentus XT would be an understatement. While Seagate had the lofty goal of negating the need for an SSD with its first mass-market hybrid HDD, the reality was the Momentus XT ended up being the best 2.5" hard drive on the market. In many cases, it was fast enough to be better than 3.5" desktop hard drives as well.
Seagate earned this praise by combining a small amount of of SLC NAND (4GB at the time) with a traditional 7200RPM 2.5" hard drive. A separate NAND controller was introduced to handle caching of frequently accessed data to the NAND. By acting solely as a read cache (only read requests to the drive are pulled into the cache), Seagate skirted the complicated issue of effectively building an on-board SSD by only caching reads from the hard drive and not writes to it.
It's Analogy Time: How Caches Work
Caches are pretty simple to understand. Let's say you're running a library with thousands of books and thousands of users. Allowing everyone to roam freely would create a traffic nightmare so you make all requests for books go through your help desk. A customer approaches the desk, tells your employee what book they want, and your employee runs to grab the book. This happens for each request. The time it takes your employee to return with a book after receiving a request from a customer is your service time and it's a value that you want to keep as low as possible in order to prevent you losing your customers to another library.
Over time your employee may notice that certain books are frequently requested. A smart employee would decide to have copies of these books at the help desk, to more quickly service those requests. With a large enough desk, your employee could likely accommodate a good percentage of the requests that come by. At the end of the day, doing so would lower your service time and allow you to serve more customers. Requesting a book not located at the help desk would still take the same amount of time.
If reading patterns change over time, your employee could adapt. Assuming there's a finite amount of space at the help desk, books that are no longer as frequently read as they once were could be evicted from the desk and replaced with more popular titles.
The library I've described above is an example of a cache. The books are of course data, the customers are instructions and the help desk is the cache itself. Data that's accessed more frequently is stored in the cache and as access patterns change, so does the data in the cache.
Improving Mechanical Storage via a NAND Cache
Caches exist in several locations in any modern day computer, both in hardware and software. We often talk about CPU caches that are used to save trips to main memory, but in the case of Seagate's Momentus XT there's an on-board NAND cache to save trips to the spinning platters.
The mechanical components of a hard drive are what make it slow. Dealing with electrons is far quicker than waiting to reposition a head over a spinning platter. For a while, hard drive manufacturers were able to improve performance through spinning the magnetic platters at higher speeds. Power and reliability concerns have limited progress in spindle speed however, most high performance client drives spin their platters at 7200RPM. Instead, increasing platter density has been the hard drive maker's weapon of choice to address performance over the past decade.
Improving platter density only really addresses sequential access performance, without faster spindle speeds, random access performance remains mostly untouched from one generation to the next. Amdahl's law tells us the maximum speedup we can hope to gain from a new system is ultimately bound by the portion of the system that isn't upgraded. The same rule applies to hard drives. For any workload that isn't perfectly sequential in nature, not addressing random access performance means that improvements to platter density will provide increasingly smaller performance improvements. In other words, even if you double sequential performance, you'll see a less than double increase in overall performance. Taken to the extreme, it'll eventually mean that doubling the sequential performace of a hard drive will result in virtually no impact in overall performance.
Granted the hard drive manufacturers won't let it get to that point, and the Momentus XT shows us one path to avoiding this problem.
Seagate takes its standard 7200RPM 2.5" drive architecture and combines it with a NAND controller, firmware and 8GB of SLC NAND. The job of the NAND controller is to look at LBAs requested by the host controller and pull the most frequently read data into the NAND. A copy of the data remains on the mechanical drive, so in the unlikely event of a failure in the NAND the data is still safe. The controller only caches read requests to the drive, which has a couple of major implications. On the one hand, this greatly simplifies the Momentus XT's architecture. It reduces traffic to the NAND, allowing for a simpler page management algorithm and guaranteeing longer lifespan (although using SLC NAND already helps in that department). On the other hand by only caching reads, it means that writes to the hard drive are no faster than they would be on a more conventional drive. Seagate is banking on the fact that most client usage models are read rather than write heavy. Although the Momentus XT's NAND doesn't directly cache writes, it can improve write performance by allowing the drive to service some reads through the cache, thus freeing up the drive's heads for write operations instead of being weighed down by servicing both.
The New Momentus XT
The Momentus XT originally only had 4GB of SLC NAND on board, but the second generation 750GB version now comes with 8GB. The new drive retails for $249, up nearly $100 from the $156 MSRP of the original 500GB version.
|Seagate Momentus XT Comparison|
|DRAM Buffer Size||32MB||32MB|
|NAND Cache Size||8GB SLC NAND||4GB SLC NAND|
A doubling of the NAND capacity allows Seagate to be much more aggressive with caching. The Momentus XT will now achieve near peak-performance in many cases by the second time you access data, while its predecessor could require more runs to make optimal use of the cache.
Seagate will eventually use the larger NAND to cache writes as well as reads. Early next year 750GB Momentus XT owners will get a firmware update adding write caching support. I've played with an early version of this firmware and it does improve performance tremendously.
Intel obviously believed that 20GB was the right size for an SSD cache, so why did Seagate stick to 8GB when upgrading the Momentus XT? Ultimately it's an issue of cost. Seagate is hoping to drive its hybrid HDD technology into the mainstream by convincing OEMs to use its Momentus XT drives. To gain widespread adoption Seagate needs two things: 1) aggressive pricing and 2) a second supplier of hybrid HDDs.
Hard drives are treated as commodities by all OEMs. They're a checkbox on a spec sheet that typically only values capacity and cost. Performance can be used as an upgrade but only if the capacity and cost points are compelling. It's this mentality that limits the Momentus XT to 8GB of NAND while encouraging an upgrade to a 750GB capacity. From a performance standpoint, Seagate probably needs at least twice as much NAND on board to really deliver an optimal solution for all users. Ideally I'd like to see 32GB of NAND on a hybrid drive like the Momentus XT. Unfortunately, by using SLC NAND Seagate pretty much guarantees it's not going to ship anything close to that size anytime soon.
Meeting the second requirement is a more difficult one. Most OEMs want two suppliers for commodity parts like display panels or hard drives. Today, Seagate is the only HDD manufacturer delivering a high-performance hybrid solution like the Momentus XT. Seagate does expect this to change eventually, but until it does the Momentus XT's sales potential is limited.
With the second generation Momentus XT we have a hybrid hard drive that has the ability to outperform its predecessor, without really seeing the huge upgrade necessary to fully negate the need for an SSD. To quantify the performance improvement over the previous generation as well as its place in the HDD-SSD continuum, we turn to a mix of application based, trace based and synthetic benchmarks.