Home > PC Hardware Articles > How it Works: Intel SSD Caching

How it Works: Intel SSD Caching

How it Works: Intel SSD Caching

Written on June 29, 2012 by Matt Bach

[ View All Articles ]



Warning: Always look at the date when you read a hardware article. Some of the content in this article is most likely out of date, as it was written on June 29, 2012. Check out our more recent articles.

Introduction

Intel SSD CachingSSD caching (also known as Intel Smart Response Technology) is not new, but is something we have not inspected closely since its introduction with the Z68 chipset. SSD caching is intended to provide improved performance for computers that use traditional hard drives in a way that is both cost effective and easy to configure. This is done by using a small, relatively cheap SSD drive to cache or store commonly accessed data. Since SSDs are much faster than traditional hard drives, this allows the computer to read the cached data much faster than if it had to read the same data directly from the hard drive.

SSD caching reduces the time it takes to load commonly used programs, but there is a limit to the benefits. If the data is already stored in the computer's RAM, then SSD caching does not improve load times at all since the computer's RAM is much faster than even the fastest SSD drive currently on the market. The main advantage of SSD cache comes into play when booting into Windows or when a program is run for the first time after a reboot or power off. Since the data in RAM gets cleared each time the computer powers cycles, the data is not present in the RAM whereas it is still present on the SSD cache drive. 

With SSD caching setup and configured, all that the cache needs in order to function is for the program to run once. After that, the data is stored for future access within the cache drive. On a chipset level, Intel SSD caching is currently only compatible with certain chipsets and their mobile equivalents, but some motherboard manufactures have released software that does much the same thing as Intel SSD caching. In this article we will only be examining the performance of the SSD caching as provided directly from Intel.

Behind the Scenes

In order to understand SSD caching and how it works, you need to understand some of what is going on behind the scenes when a computer is trying to find the data it needs. When a program is first run, all of the different files needed to launch that program (the main .exe, dll files, etc.) are read from the hard drive and loaded into the different levels of temporary storage found in a computer. On most computers, the basic hierarchy goes: 

CPU Cache   RAM   Hard Drive


Whenever a computer needs to find data, it goes through this hierarchy of different storage locations starting with the CPU cache and working all the way back to the hard drive. As you go through the list, the speed of the storage gets slower so ideally you want the most commonly accessed data higher up on the list. For example, reading data from the CPU cache is much faster than reading from the RAM, which itself is much faster than reading directly from the hard drive. SSD caching adds an extra step between the RAM and hard drive, so this process becomes:

CPU Cache   RAM   SSD Cache   Hard Drive


Since SSD drives are much faster than traditional hard drives, this gives the system one more place to look for data before having to read from the comparatively slow hard drive.

Due to space limitations, not all of the data in a computer can be stored into the relatively small CPU cache or RAM, and SSD caching is no different. While the algorithm to decide what data gets cached is confidential, our testing shows that at the very least, files larger than a few MB are not stored in the SSD cache.

Setup and Configuration

Setting up an SSD cache is very easy as long as the following requirements are met:

  1. The chipset supports Intel Smart Response Technology
  2. A traditional primary hard drive
  3. A secondary SSD drive
  4. The SATA controller must be set to RAID mode (no arrays need to be configured)
  5. The Intel RST software must be installed.

Before we get into actually setting up SSD caching, there are a few things to note: First, a platter hard drive is required since the benefits of SSD caching are completely non-existent if you already using a SSD as your primary drive. Second, SSD caching is limited to 64GB. If the SSD is larger than 64GB, the remaining space is partitioned as a standard drive. You can either leave this space empty, or format it for use as additional storage through Window's Disk Management utility.

Once the five requirements listed above are fulfilled, simply follow the four easy steps shown below to enable and configure SSD caching:

Intel SSD Caching setup 1 Intel SSD Caching setup 2
Launch the Intel RST software and click on the "Accelerate" button. If the button is not present, you either are not in RAID mode or one of the other requirements have not been met On the next screen, click on the link "Enable acceleration"
Intel SSD Caching setup 3 Intel SSD Caching setup 4
A window comes up allowing you to configure the SSD cache. From here, you can select the cache size (with a maximum of 64GB), the drive to accelerate (likely the OS drive) and can choose between Enhanced* and Maximized** mode After clicking OK, the SSD cache is fully configured and ready for use. If you want to change the cache mode or disable SSD caching, you can do so from the Accelerate tab


*Enhanced Mode: Acceleration optimized for data protection. This mode uses the write-through cache method to write data to the cache memory and the disk simultaneously. In the event that the accelerated disk or volume becomes inaccessible, fails, or is disconnected, there is no risk of data loss because data on the disk is always synchronized with the data in the cache memory. For data safety reasons, this mode is the default acceleration setting.

**Maximized Mode: Acceleration optimized for input/output performance. This mode uses the write-back cache method where data is written to the disk at intervals. In the event that the cache device or the accelerated disk or volume becomes inaccessible or disconnected, there is a chance of data loss. However, if the device was missing and can be reconnected, reboot your system and caching activity will resume from where it stopped. If you wish to remove the cache device in the future, make sure that acceleration is first disabled on that disk or volume.


Once you complete these four steps, SSD caching is fully setup and will start working immediately; no reboots or additional configuration needed. At first, you may not notice much performance improvement, but this is due to the simple fact that no data has yet been stored to the SSD cache drive. As you continue to use the computer, more and more data will get saved to the cache, resulting in better and better system performance.

Performance Benefits

To test the performance benefit of SSD caching, we used the following hardware in a laptop system:

Laptop: Puget M550i 15-inch Notebook (Clevo P150EM)
CPU: Intel Core i7 Mobile i7-3720QM 2.6GHz 6MB 45W
RAM: 2x Kingston SODIMM DDR3-1333 8GB
GPU: NVIDIA MXM Geforce GTX 670M 1.5GB
Hard Drive: Western Digital Scorpio Black 250GB 7200RPM
SSD Drive: Intel 310 80GB SATA II mSATA  SSD


While most of our testing was performed with the operating system installed to the traditional hard drive and the SSD drive configured as the cache drive, we also did testing without the SSD cache configured as well as with the OS installed directly onto the SSD. This will give us a good look at the difference between not using SSD caching, using SSD caching in both modes and running the system directly from the SSD drive.

To benchmark the performance advantages, we decided to start off with testing the difference SSD caching makes to Window's boot times. To do this, we used BootRacer to record how long it took Windows to load in each of our configurations. BootRacer provides measurement from two different points: when the base OS is loaded and ready to start user-specific applications; and when the OS is fully loaded and completely ready to go. We went ahead and provided both readings, although the total is what most readers will likely be interested in. Note that these results are only for the Windows boot time and do not include pre-boot actions such as POST or BIOS hardware detection.

Intel SSD Caching Windows boot time

Sufficed to say, we were very impressed with the results. Our boot times were only 60% of what they were without SSD caching and essentially identical to simply using the SSD as the boot drive. The only unexpected result was that the difference between Enhanced and Maximized caching modes was so little. Given the risks associated with using Maximized cache, we highly recommend using the Enhanced cache setting if your primary goal is to improve Windows boot times.

Moving on to our application load testing, we ran three different programs and recorded how long it took for each to fully load: GIMP (image editing), Avid Studio (video editing) and Google SketchUp (3D modeling). This is a fairly limited number of programs, but we wanted to cover the basic idea of SSD caching across in this article, and not get too caught up on how SSD caching improves performance on a per-application basis. 

Each of the programs had been previously launched (so that they would be present in the SSD cache when available) but the system was rebooted before taking our measurements to ensure that they were not simply running from the computer's RAM.

  GIMP Avid Studio Google SketchUp
No Cache 14.2 45.9 4.7
Enhanced Cache 4.3 (30%) 10.2 (22%) 1.6 (34%)
Maximized Cache 3.9 (27%) 11.9 (26%) 1.7 (36%)
OS Installed On SSD 3.8 (27%) 10.9 (24%) 1.5 (33%)
RAM (additional runs) 3.0 (21%) 6.9 (15%) 1.0 (21%)


From our testing, you can clearly see that SSD caching proves great benefits to program load times. Once again we want to point out that this is only for the first time you run the program after a reboot. Any subsequent runs will be pulled from the computer's RAM so the load times no matter what caching you use will be much better.

While it is impossible to define a trend using so few data points, our results appear to show that the longer a program normally takes to load, the greater the benefit gained from using SSD caching. With load times reduced to 25-35% of the standard load times, it's clear that SSD caching is not just a hype tool, but is very useful in minimizing load times.

What really surprised us was how well the SSD caching performed compared to having the OS running directly from the SSD. Having the OS and programs installed directly onto the SSD provided a bit better load times, but the results were close enough that we completely validated Intel's claims of getting SSD-like performance by using SSD caching.

The testing we performed for this article just barely scratches the surface of the various programs that can benefit from using SSD caching. If you want to learn more about the performance benefits of SSD caching, we recommend checking out the Anandtech and Tom's Hardware articles about Intel SSD caching. These articles are a little bit dated, but the technology for SSD caching has not changed much since the launch of Z68 so they are still very valid.

Conclusion

Overall, we were very impressed with how much OS and program load times were reduced when using SSD caching. One thing to keep in mind, however, is that using SSD caching does not result in a system-wide increase in performance. Reading data over a few MB in size and writing data must still be done directly from the hard drive and will not benefit from having an SSD as a cache drive. Depending on the size of the cache drive, some data might also get "evicted" from the cache as you continue using your computer and newer data gets written to the cache drive.

So really, whether or not SSD caching is right for you depends on what you use your computer for. Do you spend most of your time opening lots of different programs, but rarely any large files? If so, SSD caching will likely give you a very nice performance boost. Or, do you spend your day reading and saving very large files? In that case, SSD caching will still give the performance boost when opening programs, but the actual reading and writing of the files will not be any faster. At the very least, Windows load times will be greatly improved no matter what your computer is used for.

 



Share this article!

Dizhiyin1

Very detailed,great work!

Posted on 2012-12-15 03:30:59
BornRight

I'm planning to buy a new Win 8 ultrabook having 500GB 5400 RPM HDD + 32GB mSATA SSD cache. But I want to use an SSD as my primary disk. So which of the following do you think is better:

1. Replace the 500GB HDD with an SSD
2. Replace the 32GB cache with a bigger mSATA SSD and use that as my primary drive.

In either case, I plan to clone my HDD to my new SSD. I don't like reinstalling the OS from scratch.
If I choose option 1, do I have to remove the cache drive after replacing the HDD with the new SSD?
If I choose option 2, can I reformat the HDD and use it as a storage drive or do I have to remove it from the system?

Any advice is highly appreciated. Thanks.

Posted on 2013-02-22 13:42:56

It depends a bit on the specs of the Ultrabook. I'm guessing that the SATA for the 2.5" drive is SATA 6Gb/s, while the mSATA is 3Gb/s since that is how most laptops/ultrabooks I've seen are. If that is the case, it would be better to upgrade the 2.5" drive to a SATA 6Gb/s SSD if you want the best possible speed since you will be limited to SATA 3Gb/s speeds if you used the mSATA as the primary drive. You don't have to remove the 32GB mSATA drive, but you can't use it as a cache drive anymore (what would be the point? You are already at SSD speeds). You could leave it in and do something like set your page file to that drive, use it as a small secondary storage drive, or use it to backup any important files.

If you want a balance of speed and storage, then upgrading the mSATA to a larger model and moving the OS to that would be best. This way, you can format the 500GB drive and use it as a storage drive.

If it turns out your mSATA is actually SATA 6Gb/s, then I would upgrade the mSATA and keep the 500GB drive as storage. mSATA drives are slightly more expensive then their 2.5" counterparts, but it is really nice to have that extra storage from a traditional HDD in addition to the SSD.

Posted on 2013-02-22 16:12:53
bussche

Thx for the article Matt, it's very nice.

Posted on 2013-04-26 09:50:58
Starrlt

Matt, you saved my hide, thank you. With a new computer (Dell 8500), new system (Windows 8) and a newly installed 32GB ssd I was very nervous messing with the system BIOS (to turn on raid). Everything worked as you said it should.

Posted on 2013-05-01 23:53:14
mzmzmz

Thanks for the article! - It made me curious:

Do you know if it is possible to use this with RAID arrays as well?

For example consider the following setup:

Two SSDs (with e.g. each 128GB) @ RAID0, 64GB of them used as SSD Cache for an RAID10 array of regular HDDs (e.g. 4x2TB), and the rest of the SSD-RAID-Space for the OS of the machine.

Should this be possible? (Assuming to have the right Mainboard)

Posted on 2013-06-17 15:23:32

I honestly have never tried SSD caching with RAID arrays, but I will warn you that the configuration you are proposing is very complex and as such will be much more prone to problems than a simpler configuration. Also keep in mind that SSD caching is really intended to speed up things like program load times and does pretty much nothing for load normal files once said program is running. In most cases you really should have your programs on your main OS drive and use the regular HDD RAID for storing files. In that case, you will see no performance benefit by having a SSD cache drive assigned to those regular HDDs. If you do have programs running off the regular HDD array, then you will see a pretty decent boost in the load times for those programs, but again will not see an improvement for opening any files once the main program has opened.

Overall, I would strongly suggest not using this configuration. One more small SSD assigned as a cache drive for the regular HDD array will prevent a lot of the complexity and will be nearly as fast. But honestly, in the vast majority of cases you should not have any programs running off a secondary RAID array anyway, so SSD caching won't provide any performance benefit.

Posted on 2013-06-18 03:34:45
NothingChange

Thanks, just exactly response my doubt... :)

Posted on 2013-07-17 04:04:06
McVuz

What if you already have SSD as system disc (WIN8 already installed with few programs), and HDD for games and media. Can you change that SSD role without messing the Win install?
By the way, it's MSI GT70, so I think it's not Intel SSD inside, but it could still be done, right?
Thanks!

Posted on 2013-08-09 04:37:47

No, if you change its role to a SSD cache it would wipe out what is on the drive now - and since that is your OS, the system would no longer function.

Posted on 2013-08-12 15:25:41
Vivek Viru

I am planning to buy 60 gb SSD,i have a intel i5-3570k processor and intel DZ75ML-45K motherboard..which do not support intel SRT but the processor supports it.

my purpose of buying SSD is

1)fast boot up of system

2)i want to play games through SSD due to decreased load time

i will install only OS and some games to SSD

so plz tell can i set up SSD to my system...?

plz reply...! i am eagerly waiting for ur reply....:(

thanks in advance....:)

Posted on 2013-08-10 13:11:44

I don't think you can use SSD caching with that motherboard, but I'm not very familiar with Intel's line so I can't say for sure. However, you could use the SSD as a boot drive - you would need to reinstall Windows there, and any applications you wanted to have run from the SSD. 60GB is a limited amount of space, though, so watch how much capacity on the drive you are using very carefully... or consider a larger SSD, which might be better in the long run.

Posted on 2013-08-12 15:27:23
RxG

Hello,
I have bought a new dell 17R 7720 with 32gb ssd. I would like to know that how can i maximise its performance ??

1. I can install OS on 32Gb m-sata and use the 1 Tb hard drive for storage.I will install the small Apps and programs in 32gb m-sata drive but for storing games i will be using 1TB normal HDD.

2. I can use 32 GB m-sata for caching the 1TB HDD and obviously i wil be installing everything on regular Hard drive now.

Which is better for maximum performance of games playing from other Drive??
Which is better for programs and small softwares installed on SSD with windows, ignoring the games in other HDD.??

Thank You

Posted on 2013-08-28 21:23:58
pauldj

PLEASE PLEASE HELP ME I HAVE THIS COMPUTER HP ENVY dv7-7212nr notebook with 750 gb hhd and msata 32 gb cache 8gb ram....!!!! already upgrade to 16 gb ram and intel smart technology doesn't work!!!! later upgrade msata to 64 gb .... so i need to know how do the step 4....
!!!The SATA controller must be set to RAID mode (no arrays need to be configured)!!! thanks this the link with the problem on hp http://h30434.www3.hp.com/t5/H...

Posted on 2013-09-01 07:45:04
DavidB

While this is possible, it's tricky. Best to do a clean install & load the correct drivers when installing. Make sure bios settings are correct too. If you want to try with your existing install, you need to install ahci drivers & enable msahci in registry. That will start you on your quest of frustration but lead to performance bliss LOL!

Posted on 2013-09-13 02:26:53
DavidB

I think I may have found an incompatibility in windows automatic repair & SSD caching. When in windows auto repair with command line open, no drives or partitions show up! How is windows supposed to fix your boot loader if it can't see the drives?? You would think that they would copy the correct drivers on install to the hidden recovery partition in win8 but I don't think they do. I was able to get back to booting by loading off a USB drive like I was installing windows & doing a custom install, loading the correct intel drivers then pressing shift F10 & doing a chkdsk /r & some bootrec commands.

Posted on 2013-09-13 02:35:10
Yo'av

I'm going to get a 240gb SSD to put my OS on and store all my files and programs on then I'm getting a 32gb SSD to cache

Posted on 2013-11-04 03:03:17
Ernet

Hi, it's really great explanation of how SSD caching works. Now, I have "unusall" question: having 8GB RAM in my Laptop I used to turn the paging file off. Does this move disturb or not with normal SSD caching work ? Or having SSD caching in my Laptop I just shouldn't turn off paging file?

Posted on 2014-02-06 13:08:58
Divine

I run a Raid0 main drive consisting of (2) 160GB SataII drives. Would using a SataII SSD as a cache improve my speeds or would the SataII controller limit the SSD to approx. the same speed as the Raid0 array?

Posted on 2014-02-14 18:20:00
See a problem on this page? Let us know.