SSD Cache: All There Is To Know About SSD Caching and Its Performance Boosts
You’ve probably heard about SSD (Solid State Drive) caching and how allocating a certain portion of your SSD as a cache could help boost your system’s performance, but what is a SSD cache, exactly?
If you’re here for that, we have everything you need to know about it.
What is a Cache?
Before we get into talking about SSD caches, let’s first define what a cache is...
You can think of a cache as being like a stock room where items are stored for future use.
In the case of a computer cache, it’s a space in your computer’s hardware (RAM, CPU, Hard Drive, SSD) that stores both recently and frequently used programs so your computer can pull it up easily the next time you need it. Essentially, this cuts the loading times and helps programs execute much faster.
What is a SSD Cache?
An SSD cache is when you utilize part of, or the entirety of, an SSD as a cache (with a minimum of 18.6GBs). So, SSD caching, also commonly known as flash caching, is the process of storing temporary data on the SSD’s flash memory chips. And because SSDs use fast NAND flash memory cells, data requests and overall computing performance will be dramatically faster.
In fact, if you’re using the conventional HDD alone, then SSD caching is one of the most cost-effective upgrades you can make in exchange for faster boot and loading times. We’re talking about going from 30 second boot times (or longer) to a mere 8 seconds (more or less) and you get a more responsive system overall. We’ll cover more about how this can save you money shortly.
However, if you’re already using an SSD as your sole means of storage, then you don’t really stand to gain anything from SSD caching.
Types of SSD Caching
There are different types of SSD caching that can be used, which benefits different circumstances, respectively:
- Write-around SSD caching
- Write-back SSD caching
- Write-through SSD caching
Write-around SSD Caching
Write-around SSD Caching is the process of directly writing the data to the primary storage by initially bypassing the cache. However, since the data that is eventually cached is first sent to the actual SSD, the process of moving this data back to the cache will be slower. After all, there is no cache to help move things to the cache (it’s just caches all the way down...).
Still, this system is incredibly efficient because the data is copied back to the cache only when the data is recognized as “hot” (in others word, when the data is identified to be used frequently). This means the cache won’t be flooded with irrelevant data and will only cache the data that would benefit from being cached the most.
Write-back SSD Caching
Write-back SSD Caching first writes the data to the SSD cache and then sends it to the primary storage device only once the data has been completely written to the SSD cache.
Remember, caching is a lot better than normal read-write operations, so this leads to low latency for both write and read operations. But in the event of a cache failure, cached data will be lost. This is why manufacturers that use this type of caching invest in products that make duplicate writes to go around the problem.
Write-through SSD Caching
Write-through SSD Caching writes data to both the SSD cache and the primary device storage at the same time. It’s also the commonly used caching and hybrid storage solutions these days.
The data will only be made available from the SSD cache when the host confirms that the write operation is completed on both the SSD cache and primary storage device.
Which Type of SSD Caching is Best for You?
- Write-around SSD caching is best if you don’t want to flood your cache with data that you won’t be using very often. However, this leads to higher latency when loading the recognized “hot” data back to the cache.
- Write-back SSD caching is the fastest since it doesn’t have to wait for the underlying storage to complete. But even though this solves latency problems, the data will always be put at risk since power failure could corrupt the data.
- Write-through SSD caching is the most common type of caching today. Data is written both to the cache and the underlying storage at the same time and the write is only considered complete when it is written to your storage. This makes it the safest method, but also the slowest.
How SSD Caching Works?
Regardless of how the data is cached, the files that are needed to run a program will be loaded from the storage drive according to the hierarchy of different levels of temporary storage.
This usually starts from the fastest cache memory all the way back to the slowest cache memory, depending on the data’s response time. So, fast-responding files will go straight to the CPU cache while slower-responding data goes to the RAM, and then-- at least in the example below-- the hard drive comes up last.
The trick? While the hard drive is the slowest of these-- meaning you want to avoid accessing data that’s there too often-- it also holds the majority of your data.
When SSD caching is configured, however, it goes in between the RAM and hard disk since its cache speed is faster than a hard drive (but still slower than a RAM’s).
The addition of one more place for the system to look for data is what makes everything faster since SSD cache is significantly faster than conventional hard drive caches.
How Does it Help Save Me Money?
Buying an SSD of the same size as your hard drive is very expensive. However, a small SSD shouldn’t burn a huge hole in your wallet. So if a 500GB SSD is too expensive for you, a 64 GB or even 32 GB SSD should be more than enough to give you a huge boost in speed without costing an exorbitant amount.
What Do I Need To Properly Execute SSD Caching?
If you’re using an Intel processor
Using your SSD NAND memory as a cache on an Intel system is easy, and all you need are the following:
- An Intel® Z68, Z87, Q87, H87, Z77, Q77, or Intel® H77 Express Chipset-based desktop board
- An LGA 1155 or 1150 package Intel® Core™ Processor
- A System BIOS with SATA mode set to RAID
- Intel® RST software 10.5 version release or later
- Single hard disk drive or multiple drives in one RAID volume
- Solid state drive (SSD) with a minimum capacity of 18.6 GB
- Windows 7, Windows 8, or Windows 10 (32-bit and 64-bit editions) operating systems
Before anything else, configure SATA mode in the BIOS.
Step 1: Turn the computer on and press the F2 key repeatedly to load the BIOS menu.
Step 2: Go to Configure SATA Drives option.
Step 3: Select the setting for Chipset SATA Mode and change the value to RAID.
Step 4: Press the F10 key to save settings and restart the system.
Enabling Intel Smart Response Technology (SRT)
To make use of SSD caching, make sure you install all the required device drivers and the latest Intel SRT software here. When done, follow the steps below:
Step 1: Open and run the Intel RST software.
Step 2: Click the Enable acceleration under the Status or Accelerate menu.
Step 3: Choose the SSD for the cache device.
Step 4: Choose the size from the SSD to allocate as cache memory.
NOTE: The remaining space on the SSD may be used for data storage, using the single-disk RAID 0 volume that is automatically created.
Step 5: Choose the RAID volume (drive) you want to accelerate.
Step 6: Choose either the Enhanced mode (write-through) or the Maximized mode (write-back).
Note: The Maximized mode optimizes the input/output performance while the enhanced mode optimizes data protection. Choose the Enhanced mode if you aren’t sure. This writes data to both the SSD cache and the primary device storage at the same time, making sure data is not lost during power outage or sudden power interruption.
Step 7: Click OK. The page should refresh and a prompt should show that the new acceleration configuration is successfully configured. After all of this your data will be SSD cached!
If you’re using an AMD processor
Thanks to the recent release of StoreMI (a proprietary software by AMD that functions just like Intel’s Smart Response Technology software), AMD users can now take advantage of an SSD’s speed while using an HDD as their primary storage device.
Before you can use your SSD as a cache for your HDD on your AMD system, your system should meet the minimum configuration:
- AMD RyZen, 4xx series motherboard
- A minimum of 4G RAM (6G RAM to support the RAM cache)
- Secure Boot is NOT enabled (Consult your system documentation for further details)
- There are no other SSD caching or AMD software RAID solutions installed
- The BIOS SATA disk settings are set to AHCI, not RAID
- Windows 10 operating system
Other things to take note of…
- StoreMI not only supports Ryzen desktops, but it also supports A‐series/Athlon desktop processors (in socket AM4 series 4xx motherboards) and Ryzen Threadripper processors (in sTR4 motherboards).
- If you wish to use bootable tiers > 2TB in size, the system must be configured to boot in UEFI mode with a UEFI bootable Windows OS installation as Windows 10 does not support > 2TB boot drives in legacy boot mode.
- Make sure you install the Windows on the HDD rather than the SSD when starting with a fresh Windows install to avoid problems in the long run.
- If converting an SSD or NVMe boot drive that is larger than 256GB, additional steps are required. (See IMPORTANT in the Creating Bootable StoreMI Tiered Drive - Adding SSD to Existing HDD Boot Drive section below)
Before anything else, and like the first step above, find your way to the SATA mode in the BIOS and set the SATA controller to AHCI, not RAID. Press F10 key afterwards to save and restart the system.
IMPORTANT NOTE ON SSD CACHING: SSD caching may boost your overall experience and performance but remember that this also affects the life-span of your SSD. Read more about SSD Reliability to learn more about it.
Enabling AMD StoreMI
Make sure you download and install the latest AMD StoreMI software and drivers by clicking on the DOWNLOAD NOW button found here. Reboot the system to complete the installation when prompted.
Note: When using the Express option to install, you may optionally view the current disk
configuration using the AMD Drive Controller information option to verify the drive setup.
Creating Bootable StoreMI Tiered Drive - Adding SSD to Existing HDD Boot Drive
Step 1: Click on the Create Bootable StoreMI button after you open the StoreMI application.
Step 2: Transform an existing boot drive into a StoreMI Tiered Drive.
Note: The correct drives will usually be automatically selected if you choose Auto Drive Select. Otherwise, you will be prompted to choose which drive goes to the fast tier (your SSD) and which drive goes to the slow tier (your HDD) if you choose to manually choose the drives. Don’t fret if you see a grayed out drive because it is either used as a data drive or partition.
Step 3: Click on the Create button, follow the instructions, and reboot the system when prompted to.
Step 4: When Windows boots, verify that the system has correctly booted from the StoreMI by opening Disk Manager (by typing in diskmgmt.msc via Command Prompt) and to also access the volume expand capability of Windows.
Note: If the expansion of the boot volume was not automatically completed, right click on the C: partition in the Disk Manager and click on Extend Volume to manually expand the boot volumes.
IMPORTANT: It should also be noted that the StoreMI only supports a fast tier capacity of 256GB. If you have an SSD that doesn’t have an operating system with over 256GB of storage, the remaining unused capacity will be presented as an additional virtual SSD that you can format and use as temporary storage.
Additionally, you can also get the $59.99 package by Enmotus FuzeDrive™ for AMD Ryzen™ if you wish to use up to 1TB of storage as your fast tier drive.
But remember that choosing the Remove StoreMI option also removes the additional virtual SSD that is used as temporary storage so make sure you back everything in this virtual SSD before performing the removal process.
Expand the Capacity of an Existing SSD Boot Drive
Step 1: Open the StoreMI application and click on Create Bootable StoreMI.
Step 2: Choose an available blank SSD or HDD from the options. Manually choose an available SSD or HDD if the system does not automatically.
Note: If the SSD has more than 256GB of storage, you will be prompted with a message that the remaining space can be used as a normal drive. But keep in mind that you will need a third-party migration tool to migrate the OS from your boot drive to the SSD with a larger capacity. Do this first when prompted and remove the OS from the smaller SSD once completed. When the migration process is completed, proceeding to step 3 below.
It’s also worth noting here that the contents inside the virtual SSD will be removed if you go through the Remove StoreMI option.
Step 3: Click on the Create button, follow the instructions, and reboot the system when prompted to.
Step 4: When the Windows boots, verify that the system has correctly booted from the StoreMI by opening Disk Manager (by typing in diskmgmt.msc via Command Prompt) and to also access the volume expand capability of Windows.
Alternatively, you can also enable the RAM cache feature through the StoreMI configuration utility found in the system tray. Just open the StoreMI utility, use the Change Settings option and select the available RAM cache mode: 2GB. To confirm the change, click Modify Tier.
Tests were run on the SSD by itself, the HDD by itself, and the HDD and SSD set up as a Smart Response Technology cache using Intel’s SRT software. I’ll tell you this up front: going back to a mechanical hard drive to install Windows and perform benchmarks after using nothing but SSDs for years was excruciatingly slow. So there’s my subjective anecdote for the article. 🙂
We did not test SSD caching with AMD’s StoreMI software, however, but we would be inclined to expect similar results.
It should be noted that until data is actually cached on the SSD, it will run from the mechanical drive. However, if we were to pre-cache all the software, the test results would be skewed. In order to replicate a realistic testing environment, I installed Windows and all the test software on the mechanical drive, then installed the cache as a user normally would.
First, let’s look at some quick ‘instant gratification’ results. Will SSD caching affect file copy speeds? How about installing new programs and booting Windows?
File Copy Test
To test file copy performance, we will copy a 22GB Steam installation directory from a Samsung 830 Series SSD to each drive setup. This will tell us how real-world write speeds are affected. If SSD caching is being utilized properly, it should score about the same as a dedicated SSD:
There you have it, copying a file from another drive to a cached drive is about the same as copying to a dedicated SSD. From here, the software will continue copying the files to the mechanical drive, allowing the data to be overwritten with more important data.
Next, we’ll install a program from the same SSD to each drive setup. This should be similar to a straight file copy. We are using Photoshop CS6 as an example here:
Once again, the cache is allowing us to install to the drive at the speed of an SSD. As you can see, it makes a huge difference, cutting the time by over half.
Windows Boot Time
Everyone knows that the most immediately noticeable performance improvement an SSD can give you is Windows boot time. While mechanical drives take over a minute to load Windows, an SSD can do it in under 10 seconds-- this is the first thing most SSD users notice after they install their new drive. But what if you are using a cached drive?
Once the system is rebooted for the first time, Window’s important files are sent to the cache, and the cache partition works just like an SSD.
Next, we’ll go to work, and see how a cached drive performs in real-world office applications:
SSD Cache & SYSMark 2012
SYSMark 2012 is the perfect application to test SSD cache performance in office applications. Since it runs pre-programmed tasks through real-world applications in real time, it will allow any improvements had by increased program and data load times to be reflected in the scores.
This time we did not do a ‘conditioning run’ which would have allowed most of the data to be pre-loaded into the cache drive, which would skew results a bit. Instead, we took the mean of three runs of each test. This gives us an idea of the overall performance of an SSD cache drive after it has been in use for some time.
It should be noted now that even a small point increase in score is quite significant since this is not a storage test, but an overall system performance test. We will be skipping the suites that are purely CPU limited rather than storage performance limited (3D modeling, Media Encoding).
Some of these activities are performed concurrently to model typical multitasking behavior.
|Program Used||Task(s) Performed|
|ABBYY FineReader Pro 10||Combine multiple scanned pages from a complex document into an encrypted PDF document using optical character recognition (OCR)|
|Microsoft Word 2010||Use an advanced OCR program to convert scanned pages of complex and simple documents into editable word documents.|
|Adobe Acrobat Pro 9||Create a PDF with fillable form fields from scanned pages|
|Adobe Flash Player 10.1||Create and view complex presentations that include clip art and video|
|Microsoft Excel 2010||Use a spreadsheet program to do data analysis|
|Microsoft Internet Explorer 8||Use multiple tabs to browse a blog, online shopping site, wiki site, and social networking site|
|Check webmail in a private browser session|
|Create a blog post and do a mail merge|
|Microsoft Outlook 2010||Read, create, and search for emails|
|Create and execute a rule on email inbox|
|Microsoft PowerPoint 2010||Create and view complex presentations that include clip art and video|
|Mozilla Firefox 3.6.8||Use multiple tabs to browse a blog, online shopping site, wiki site, and social networking site|
|Check webmail in a private browser session|
|Create a blog post and do a mail merge|
|WinZip Pro 14.5||Archive a diverse set of files into a single encrypted file|
Because so many common tasks are done in this suite, this is probably the most meaningful result for most people. And as you can see, the SSD cache performs extremely well, giving a huge performance boost over a standard mechanical HDD.
|Program used||Processes relating to web development performed|
|Adobe Photoshop CS5 Extended||Layout the graphics and create the icons for a website using an image editing application|
|Use batch processing to manipulate a set of photos for use in a web-based photo gallery|
|Adobe Premiere Pro CS5||Combine images, video clips, and audio into a video using a video editing application, then encode the video to a web-ready format|
|Adobe Dreamweaver CS5||Assemble the graphics, gallery, and video into a functional website using a web development application, fixing links and moving documents as needed|
|Microsoft Internet Explorer 8||Preview the pages in multiple web browsers|
|Mozilla Firefox 3.6.8|
Likewise, the web development suite benefits from both a pure SSD and SSD cache dramatically.
|Program Used||Task Performed|
|Microsoft Excel 2010||Generate sales forecasts by region and currency based on historical data, and produce summary graphs and pivot tables using a spreadsheet application.|
Loading spreadsheets in Excel is much faster with an SSD, and an SSD cache is just as good in this test.
|Program(s) used||Processes relating to system management performed|
|Mozilla Firefox (multiple versions)||Install and then upgrade an application using a complete application installer and patch installers|
|WinZip Pro 14.5||Perform a (simulated) full system backup using encryption, then, after making changes to the initial backup dataset, perform two encrypted incremental backups|
|Restore both backups|
|Create an encrypted archive of various sensitive files for transfer across unsecured communications, and another unencrypted archive of various files|
|Decompress the initial backup and two incremental backups|
|WinZip Command Line 3.2||Decompress the encrypted and unencrypted archive files|
This test includes a lot of file reading and writing with encryption and compression. Once again, the SSD cache performs just as good as a standalone SSD.
Also, let me remind you that this is an overall system performance test, so the fact that scores are so dramatically improved by simply installing a $100 drive and using it as a cache is pretty impressive and tells us just about all we need to know.
Before we move onto any conclusions though, let’s take a look at gaming performance:
To see how an SSD cache drive can affect gaming performance, we’ll load up a few games and measure level load times. Tests were run three times (to allow the data to be cached), with a reboot between each run (otherwise RAM comes into play).
Once a game is cached, the level loads just as it would off a dedicated SSD. Note, all of these load about 7 seconds faster with a SSD or SSD cache. And, if you’ve played Skyrim, you know that this extra 7 seconds here and there can make a huge difference.
If you are wondering how long it takes, or how many loads it takes for a game to get cached, the answer-- in my experience-- is once. You might have to put up with a 15-20 second level load if you haven’t played the game for a while, but once you do, the data gets cached, and it begins running off the SSD again. All this is done without any interference from the user.
Clearly, the test results speak for itself.
If you’re asking if it’s worth getting an SSD to use as cache memory, then I’m guessing you didn’t read the rest of the article, because the answer should be blatantly obvious at this point. Sometimes people do things because of mob mentality; it’s a bad idea but everyone does it so why not? However, other times everyone does the same thing merely because it works. In this case, the fact that a lot of users do this as a cheap way to boost performance is proof that sometimes the mob is right.
If you already have an SSD as your main drive and have your games and large files on your mechanical drive, it is still worth getting a second SSD to use as a cache for the mechanical drive. This small investment to get either a 32GB or a 64GB SSD and use it as your hard drive’s cache is going to be worth your money for the performance gains.
In fact, since SSDs are becoming cheaper and cheaper, there should be no reason for you not to get a 64GB SSD to use as a cache memory for your HDD.