Original Link: http://www.anandtech.com/show/2252
Investigating Intel's Turbo Memory: Does it really work?by Anand Lal Shimpi on June 19, 2007 3:39 PM EST
- Posted in
Over a month ago Intel finally unveiled its fifth and most recent update to the Centrino platform, codenamed Santa Rosa.
Architecturally, Santa Rosa didn't offer much over its predecessor, Napa. The new platform bumped the FSB frequency to 800MHz, as well as introduced a new lower power FSB state (400MHz) to help keep power consumption in check while raising the peak performance bar. CPU clock speeds improved slightly due to the higher FSB, the fastest chip going from 2.33GHz to 2.40GHz, but overall performance hasn't been improved noticeably. Santa Rosa was the second Centrino platform to add 802.11n support, as its predecessor (Napa) was refreshed to include support for the new wireless standard.
The one unique feature that Santa Rosa offered that no other competing mobile platform, Intel or not, could bring to the table was a technology called Turbo Memory. An on-motherboard flash card, Intel's Turbo Memory is designed to act as another layer in the memory hierarchy, caching data where possible and improving performance/battery life in notebooks. A version of Turbo Memory will also be released for the desktop, but we're most interested in what it can do for notebooks.
In our Santa Rosa preview we found that Turbo Memory did very little in fact. Performance didn't improve (in some cases it got worse), we couldn't find any measurable reduction in power consumption and in the end we found absolutely no use for the technology. Notebook makers echoed our sentiments, with both HP and Sony declining to use Intel's Turbo Memory in their Santa Rosa lineups, but Intel insisted that there was an upside to the technology.
We met with Intel engineers to understand a bit more about Turbo Memory and why we weren't able to see any positive results out of it. Intel's explanation and the resultant lightbulb that lit in our heads, led to the production of this article.
Understanding Turbo Memory: It isn't as clear as you'd think
Before we can accurately gauge the effectiveness or ineffectiveness of Intel's Turbo Memory, we have to be sure we understand exactly what it is supposed to do. Intel's Turbo Memory is on-motherboard flash split into two partitions: one for ReadyDrive and one for ReadyBoost. Turbo Memory is offered in two flavors, 1GB and 512MB, with 512MB and 256MB partitions respectively.
The ReadyDrive portion of Turbo Memory is designed to work with Vista's ReadyDrive technology. ReadyDrive's fundamental goal is to cache data from the hard disk to either improve performance or in the case of a notebook, improve battery life. The primary role of ReadyDrive with Turbo Memory in a notebook, is to increase battery life.
ReadyDrive can increase battery life by fulfilling data request out of low power flash memory, and keeping the hard disk spun down when not needed. If enough data is stored in the ReadyDrive partition of Intel's Turbo Memory, the hard drive can remain spun down for significant periods of time, thereby improving overall battery life. Obviously the success of ReadyDrive depends on its ability to correctly prefetch the right data into Turbo Memory's cache, but if it works, the battery savings could be significant.
The hard drive in our test system is a Hitachi Travelstar 7K100, which draws anywhere from 0.9W to 1.2W on average when simply spinning and not accessing data. In its lowest power mode, the 7K100 draws only 0.2W, so if we can keep the drive spun down the total system power savings are in the 0.7W - 1W range. If the drive is seeking for data, power consumption is almost 3W, and actually reading data off of the drive eats up 2.3W. If the data can be instead read from low power flash memory, the power savings could be tremendous.
Intel once stated that every watt of system power you can shave off can net as much as 20 - 30 extra minutes of battery life, meaning ReadyDrive with Turbo Memory can yield a measurable increase in battery life. The reality is that 512MB of flash memory isn't enough to keep the hard drive spun down 100% of the time, so the real question is how much of an impact will there be under real world usage? We'll be answering that question shortly, but now let's look at what Turbo Memory intends to do for ReadyBoost.
Taken from our Windows Vista Performance Guide:
ReadyBoost functions as a compliment to SuperFetch, giving SuperFetch another place to cache data that - while not as good as RAM - is better than just reading data off of the hard drive. An important distinction however is that while RAM is both quick to access and has high transfer rates, flash memory only offers quick access times, with transfer rates below that of even hard drives. As a result ReadyBoost is only useful in situations where small random data accesses are required, whereas larger transfers that may need sequential access are sent directly to the hard drive. This makes ReadyBoost less readily beneficial than SuperFetch, but with USB flash drives going for under $20/gigabyte, it's a cheap and effective way to boost performance of RAM-limited computers in a number of situations.
ReadyBoost also serves as a read cache of the system pagefile, with the idea that swapping to disk is less painful if it's done to a USB flash drive. Don't worry about sensitive data being kept and lost on your USB drive though; the data is compressed and encrypted so that it should be fairly useless once the drive is removed from use.
The point of ReadyBoost is to make things faster when you run out of memory, but is Turbo Memory any faster/better than simply using an external USB drive? The one advantage Turbo Memory has for ReadyBoost over an external USB drive is that the data stored in the ReadyBoost partition remains persistent through hibernation. In a normal system with a USB drive being used for ReadyBoost, if you hibernate the machine, the ReadyBoost data on the USB drive is invalidated because the USB drive could have been removed/tampered with and Vista can no longer count on the integrity of that data. Turbo Memory does not have that problem as the flash is on the motherboard and can't easily be removed on the fly, thus Vista will keep ReadyBoost data persistent in its flash when coming out of hibernate. The benefit being that any data cached via ReadyBoost will be accessible coming out of hibernate, which simply isn't true when not using Turbo Memory. This is the only advantage of Turbo Memory with respect to ReadyBoost, and understanding that will help you understand when/where it will make an impact on system usage.
Problem 1: A Poorly Written Control Panel
Intel's Turbo Memory requires a driver be installed in order to enable the technology, but the driver Intel provides is a bit finicky in operation. Installing the driver works like you would expect it to, you install the driver and Vista asks to be rebooted; when Vista comes back up is where the situation has to be handled differently.
Vista must be rebooted a second time in order for Turbo Memory to be completely enabled. Intel claims the second reboot is a Microsoft issue and Microsoft itself generally won't tell us about what Vista is doing under the hood so we're left in the dark here.
After the second reboot, you aren't in the clear yet. Vista needs several more reboots (with extended periods of idle time between reboots) to recognize that Turbo Memory is there and operational, and according to Intel, it needs to "learn" how to use the ReadyDrive cache. Once again, we'd love to explain the nuts and bolts of why this is necessary but sadly much of Vista remains a black box to us.
If you follow all the instructions, reboot enough times and please the NAND Flash Gods, Intel's Turbo Memory will be enabled. You'll even have a nice little control panel you can use to confirm that it is enabled, but here is where things can go wrong once more.
The control panel has two check boxes that appear to be used to "select the cache policy you want to enable":
We originally made the mistake of trusting what the console said; don't touch these boxes and you'll be fine
By no means should you check or uncheck either of these boxes. According to Intel, they are not meant to be used to enable/disable Turbo Memory, and tinkering with them may enable or disable the technology with no way of confirming what has happened. Intel went as far as to say that if we touched anything on this page that we shouldn't trust what the control panel told us because it may not be correct; the control panel should simply be used as a visual tool to confirm that ReadyBoost and ReadyDrive are enabled. The control panel will tell you the truth about whether or not the RB/RD caches are enabled, so long as you don't touch any of the buttons.
We rebooted as much as we needed to (7 times total including the reboot requested by the driver install), left the computer idle between each reboot for 10 minutes, and stayed far away from the tempting checkboxes in the Turbo Memory Console; after all of that, we had Turbo Memory enabled with 100% certainty and we could begin our testing.
Problem 2: Why did things get slower?
In our initial look at Santa Rosa and Intel's Turbo Memory we generally found that performance wasn't improved and in some cases it got significantly worse. Take for example the amount of time the notebook took to go into hibernate mode:
With Turbo Memory enabled, the system took another 11 seconds to hibernate. Going back to our explanation of what Turbo Memory is supposed to do, it isn't supposed to reduce hibernate time at all. At best, the ReadyBoost portion of Turbo Memory can make data available a little quicker after waking up from hibernation but that's it. Needless to say, the technology isn't designed to make hibernation times any slower. Clearly we needed to do some digging.
In our first article we showed no performance difference between Turbo Memory enabled vs. disabled in the PCMark '05 HDD test. Given that we disabled Turbo Memory using the console it appears that it remained enabled in both tests, making the scores useless. Armed with our new found information on how to properly test with Turbo Memory, we took another look at PCMark '05.
The PCMark '05 HDD test is composed of real world disk usage, played back in a manner similar to what we do in our hard drive reviews. The individual tests are as follows:
Windows XP Startup: This is the Windows® XP start trace, which contains disk activities occurring at operating system start-up. The test is 90% reading and 10% writes. This trace contains no user activity.
Application Loading: This is a trace containing disk activities from loading various applications. It includes opening and closing of the following applications:
- Microsoft® Word
- Adobe® Acrobat® Reader 5
- Windows® Media Player
- Leadtek® Winfast® DVD
- Mozilla Internet Browser
The application loading trace is 83% reads and 17% writes.
General Hard Disk Drive Usage: This trace contains disk activities from using several common applications. These are:
- Opening a Microsoft® Word document, performing grammar check, saving and closing
- Compression and decompression using Winzip
- Encrypting and decrypting a file using PowerCrypt
- Scanning files for viruses using F-Secure® AntivirusTM.
- Playing an MP3 file with Winamp
- Playing a WAV file with Winamp
- Playing a DivX video using DivX codec and Windows® Media Player
- Playing a WMV video file using Windows® Media Player
- Viewing pictures using Windows® Picture Viewer
- Browsing the internet using Microsoft® Internet Explorer
- Loading, playing and exiting a game using UbisoftTM Tom Clancy's Ghost Recon
The General Usage trace is 60% reads and 40% writes.
Virus Scanning: Virus scanning is a critical task in today's PC usage. As the major bottleneck of scanning viruses is in hard disk activity, it is reasonable to include virus scanning as a HDD test. The test consists of HDD activity of scanning 600MB of files for viruses. The Virus Scanning test is mostly disk reading (99.5%).
File Write: This trace contains disk activities from writing 680MB files on the hard disk and no read operations are involved in this test.
Disk idle times have been compressed to 50 milliseconds to speed up the playback time. Our studies showed that 50 milliseconds was the smallest idle time interval that didn't affect the test results. The results of the HDD tests are reported in Megabytes processed per second.
Basically PCMark takes the disk accesses from these various usage patterns and plays them back as fast as possible. The tests are grounded in the real world but the actual performance metrics that result are skewed to favor very fast disk subsystems. In the case of Turbo Memory, we're testing its prefetching algorithms for getting data into the cache.
|Turbo Memory State||XP Startup||Application Loading||General Usage||Virus Scan||File Write|
|Disabled||6.286 MB/s||5.109 MB/s||4.314 MB/s||47.496 MB/s||28.739 MB/s|
|Enabled||12.209 MB/s||10.437 MB/s||10.1043 MB/s||47.806 MB/s||18.657 MB/s|
The results are particularly impressive, performance in the XP Startup, Application Launch and General Usage tests is at worst double with Turbo Memory enabled. Clearly the same isn't true in the real world as we weren't able to measure any improvements in system boot or application start times, but the technology is working at least in this controlled environment.
The numbers that are most intriguing are the file write numbers, because this is the only test were performance goes down when Turbo Memory is enabled. The write speed to the flash memory isn't nearly as good as to our 7K100 test drive, which echoes what we saw with the hibernate entry test, which is fairly write intensive.
According to Intel, the system hibernating shouldn't be slowed down by Turbo Memory but Intel engineers have duplicated the test results we're seeing. It seems like the write speed of the flash memory is to blame here, causing performance degradation when there's a lot of writing (e.g. hibernating). Whether or not this behavior can be seen on all Santa Rosa laptops has yet to be determined, but it is a definite issue we've encountered with Turbo Memory.
Problem 3: Keeping that drive spun down
The final issue we had to address before we could even begin to look at how Turbo Memory impacted battery life was how to test the platform. Turbo Memory requires Windows Vista, as it piggybacks on two Vista technologies (ReadyDrive and ReadyBoost) but unfortunately most of our battery life benchmarks don't work under the OS.
We instead turned to some of our usual performance tests and with a few modifications, turned them into battery life measurements. By looping SYSMark 2007, WorldBench 6 and various other tests we were able to create meaningful test scenarios that ran the battery down in a repeatable manner, where Turbo Memory had a chance to work.
When testing Turbo Memory, Intel recommends reducing the HDD spin down timer to its minimum allowable setting, which is 1 minute under Vista. We opted for a more reasonable setting of 3 minutes, but also looked at results with the timer set to 1 minute to see if it impacted battery life at all. We found that the difference in battery life with Turbo Memory enabled between the timer set to 3 minutes vs. 1 minute was negligible at best, a couple of minutes was the largest difference we saw in our tests.
A Measurable Increase in Battery Life?
With a better understanding of how Turbo Memory is supposed to work, we went out and tried to make it work. We used the same test platform from our Santa Rosa article, except with only 1GB of memory instead of 2GB.
Our first test involved a loop of SYSMark 2007 running while the system was on battery power. We used a stopwatch to measure battery life between the start of the test and when the system eventually shut down at 0% battery power remaining.
Much to our disappointment, there was absolutely no increase in battery life with Turbo Memory enabled. Even with the drive set to spin down after 1 minute of inactivity, Turbo Memory could not even buy us an extra minute of time on the battery.
We suspected that SYSMark had a bit too much going on in the background for Turbo Memory to have any impact, so we turned to simpler tests.
PC WorldBench 6 measures performance in individual applications running independently of one another; a lack of multitasking means that there's a greater chance of finding a scenario where data can be properly prefetched into the ReadyDrive cache. The only issue with WorldBench is that each test has a reboot before and after it runs, which makes the benchmark less real world since you don't normally reboot your notebook every 6 minutes; that being said, it's still worth a look.
The first WorldBench test is the Mozilla benchmark; the user basically browses the web for around 4.5 minutes and the test is run as fast as possible on the system.
Here we see a dramatic increase in battery life, a total of 20 minutes, with Turbo Memory enabled. The 16% increase in battery life is most likely due to the small dataset that we're working with here since all the test is doing is loading webpages over and over again.
We looked for another common notebook usage model with WorldBench and ran its Microsoft Office benchmark:
Once again we were met with impressive results; Turbo Memory increased battery life just over 12%, or 17 minutes.
For our final battery life test we wanted to see the impact of Turbo Memory on watching a DivX movie off of the hard drive. We loaded up a DivX rip of Casino (we've been on a mob film kick around here lately) and looped it until the battery ran down.
Our DivX playback test only resulted in a 4% increase in battery life, translating into an extra 8 minutes of movie playback. It's not huge, but when on battery power we'll take just about any increase we can get.
What's most interesting here is the wide range of improvements we've seen from Turbo Memory. From absolutely no gain in battery life under SYSMark, to more than a 16% increase under WorldBench. We expect the real world impact to be somewhere in between, and unfortunately it looks like the gains will be much less the more multitasking you do on your system.
That being said, when you're trying to squeeze out every last minute of battery life from your notebook you're usually not multitasking heavily, meaning there's a chance for Turbo Memory to make a difference.
What About ReadyBoost?
Fundamentally, ReadyBoost accelerates a situation that you rarely want to be in: when your system is paging to disk. While it may be nice to accelerate those situations, you don't want to be in them to begin with. We've looked at ReadyBoost performance before, and largely concluded that while it can improve performance, if you are regularly depending on it for a performance boost it's probably time to add more memory to your system.
We revisited ReadyBoost with today's article, using a test similar to one we conducted in our Vista Performance Guide. We opened up Adobe Photoshop CS3 along with 91 6MP images, we timed how long it took to load all of them.
You can see there's a tangible improvement with ReadyBoost enabled, reducing the total load time by 24 seconds even with 1GB of memory, but the improvement itself is only around 7% quicker with ReadyBoost than without. Moving to 2GB of memory on the other hand nets a 33 second reduction in load time, or 10%. The lack of improvement going to 2GB indicates that we aren't swapping to disk too much to begin with, but 1GB was the smallest base memory size we had on hand at the time of our tests.
Obviously adding another GB of memory is more expensive than adding ReadyBoost, and in this case ReadyBoost can give you close to the same performance as adding the extra memory. If you look at more memory limited situations, such as those illustrated in our Vista Performance Guide, ReadyBoost is painted in a different light - as a bandaid solution to a problem that is better solved by adding more memory to your system.
The real benefit of ReadyBoost is somewhere in between those two extremes, but for the most part we don't see a significant use for it in systems with a good amount of memory to begin with.
When Intel launched its fifth revision to Centrino, we were left mostly disappointed. It was the most lackluster Centrino launch we had seen since the brand's inception and it almost seemed like a platform that was released for the sake of coming out with something new every year. The sole feature we had high hopes for was Intel's Turbo Memory, but we were left sorely disappointed when we couldn't even find a use for it.
Some OEMs have publicly lashed out at Turbo Memory, stating that it basically does nothing for the user experience, which for the most part echos our findings internally. The most recent data we've put together shows that Turbo Memory can have a positive impact on battery life, however the tests that show the impact aren't as easy to come by. And honestly, savings of 8 minutes when watching a movie aren't impressive enough given the additional cost of adding Turbo Memory to a notebook (expected to be at least $100 USD).
The best results we have seen however show promise for Turbo Memory; greater than 10% increases in battery life, resulting in an extra 20 minutes of active use time are nothing to scoff at. The problem is how often and likely these scenarios are to occur vs. SYSMark-esque situations where Turbo Memory does nothing for battery life.
Based on our usage, we'd expect to conservatively see 5 - 10% increases in battery life on average for normal usage, including simply watching a movie. The improvement is there, but it's not as dramatic as we'd like to see. Today's investigation sheds a little more light on what Intel's Turbo Memory can do, and clearly it has potential.
There are two vectors Intel can scale along in order to improve the effectiveness of Turbo Memory: size and software. The size vector is simple; the larger the ReadyDrive cache, the more data you can put it in, and thus the longer the hard disk can remain asleep. The software vector may end up falling into Microsoft's lap more than Intel's, but the idea is this: the more aggressive the prefetchers are that populate Turbo Memory, the more likely you are to gain power and performance benefits.
Sony has publicly stated that at the last minute, Microsoft removed code from Windows Vista that would more intelligently populate the ReadyDrive partition in an attempt to get Vista out on time. Whether or not this is true is up for debate, but clearly there's room for improvement here. Vista's SuperFetch works quite intelligently and it would seem that tighter coupling (assuming some already exists today) between SuperFetch and Turbo Memory could yield even more positive benefits.
On the desktop the benefits are even less clear, since shaving a couple of watts off of the total system power isn't as big of a deal. There are potential performance implications, but we suspect that the ReadyDrive flash size needs to be increased dramatically and be far more aggressive in prefetching to generate real interest.
We leave today with a more hopeful outlook for Intel's Turbo Memory, but it's clear that the technology is in its infancy. We stand by our original conclusion with regards to the Santa Rosa platform, as it isn't one that you absolutely need to upgrade to, it is barely evolutionary by Intel's own standards. Turbo Memory could be nice to have, but your mileage may vary. We'd suggest waiting for the second revision of the technology, hopefully by the next Centrino launch in 2008 we will see larger flash sizes and more software optimizations for the technology.