How it Works: Intel SSD CachingWritten on June 29, 2012 by Matt Bach
SSD 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:
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:
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:
- The chipset supports Intel Smart Response Technology
- A traditional primary hard drive
- A secondary SSD drive
- The SATA controller must be set to RAID mode (no arrays need to be configured)
- 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:
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
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
*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.
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.
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.
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|
|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.
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.