SSD Caching

SSD caching, as usually even other forms of caching, is a computing technology that stores frequently used data to fast cache. This boosts IOPS performance and reduces latency, significantly shortening load times and execution. Caching works on both reads and writes, and particularly benefits read-intensive applications. Caching approach is not new to hard drives, and computing in general. Operating systems like Windows and Linux come with native caching software.

Actually, SSD caching is dying in consumer-based solutions as, for both Intel and AMD, viewing the more cheaper SSD solutions available than in the past, is not more so useful to keep creating solutions for SSD caching, but if you have some old equiment, so could re-use and give new life for other system using also this solution for the storage.

SSD caching, also known as Intel Smart Response Technology 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.

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.

SSD Caching

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.

The effectiveness of an SSD cache depends on the ability of the cache algorithm to predict data access patterns. With efficient cache algorithms, a large percentage of I/O can be served from an SSD cache. Examples of SSD caching algorithms include:

  • Least Frequently Used. Tracks how often data is accessed; the entry with the lowest count is removed first from the cache.
  • Least Recently Used. Retains recently used data near the top of cache; when the cache is full, the less recently accessed data is removed.

Since SSDs use NAND flash, cache data is kept persistent between reboots and power cycles. Data won't leave the cache unless it gets forced out due to lack of space/use or you disable the cache altogether. A persistent cache is very important because it means that the performance of your system will hopefully match how you use it. If you run a handful of applications very frequently, the most frequently used areas of those applications should always be present in your SSD cache.

Types of SSD caching

System manufacturers use different types of SSD caching, such as the following:

  • Write-through SSD caching. The system writes data to the SSD cache and to the primary storage device at the same time. Data is not available from the SSD cache until the host confirms the write operation is complete at both the cache and the primary storage device. Write-through SSD caching can be cheaper for a manufacturer to implement because the cache does not require data protection. A drawback is the latency associated with the initial write operation.
  • Write-back SSD caching. The host confirms a data I/O block is written to the SSD cache before the data is written to the primary storage device. Data is available from the SSD cache before the data is written to primary storage. The advantage is low latency for both read and write operations. The main disadvantage is the risk of data loss in the event of an SSD cache failure. Vendors using a write-back cache typically implement protections such as redundant SSDs, mirroring to another host or controller, or battery-backed RAM.
  • Write-around SSD caching. The system writes data directly to the primary storage device, bypassing the SSD cache. The SSD cache requires a warmup period, as the storage system responds to data requests and populates the cache. The response time for the initial data request from primary storage will be slower than subsequent requests for the same data served from the SSD cache. Write-around caching reduces the chance that infrequently accessed data will flood the cache.

Setup and Configuration

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

  • The chipset of the system 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.

Intel limited the maximum cache size to 64GB as it saw little benefit in internal tests to making the cache larger than that. Admittedly after a certain size you're better off just keeping your frequently used applications on the SSD itself and manually storing everything else on a hard drive.

Unlike Seagate's Momentus XT, both reads and writes are cached with SRT enabled. Intel allows two modes of write caching: enhanced and maximized.

Enhanced mode makes the SSD cache behave as a write through cache, where every write must hit both the SSD cache and hard drive before moving on. Whereas in maximized mode the SSD cache behaves more like a write back cache, where writes hit the SSD and are eventually written back to the hard drive but not immediately.

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:

  1. Turn the computer on and press the F2 key (check if it is F2 key, because this key could change between vendors and BIOS/UEFI versions) repeatedly to load the BIOS menu.
  2. Go to Configure SATA Drives (or something similar) option.
  3. Select the setting for Chipset SATA Mode and change the value to RAID.
  4. Press the F10 key (or something similar) to save settings and restart the system.

If You’re Using An AMD Processor

The StoreMI is a proprietary software by AMD that functions just like Intel’s Smart Response Technology software, so 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.

Download AMD StoreMi

First, you need to download the AMD StoreMi program from it’s official download page www.amd.com/en/technologies/store-mi.

Once done, install the program.

Setting up AMD StoreMi

Run the AMD StoreMi, and select the option you want:

  • Create Bootable StoreMi – If you want to combine your bootable drive (Where your OS is installed) and a pair of SSD or an HDD.
  • Create Non-Bootable StoreMi – If you want your existing drive with data to combine with another drive with data. Your data will be combined in one drive.
  • Create New Non-Bootable StoreMi – This will combine the two drive but remove all of the data.

Once done selecting the option, it will show another screen where you have to select which is SSD and HDD. Check Fast for the SSD, and check Slow for the HDD., then click Transform to fusion your HDD and SSD into one fully working drive.

Restart your computer and you’re good to go.

IMPORTANT NOTE: SSD caching may boost your overall experience and performance but remember that this also affects the life-span of your SSD.

Limitations

SSD caching provides a tangible benefit only when a system is in what we point out as a clean state, such as booting up a PC after it’s been off, rebooting Windows, or the initial running of an application after a restart or power down. There’s a memory hierarchy that runs from the CPU cache to RAM, SSD cache, then HDD. A restart wipes clean the CPU cache and RAM, making the SSD cache the go-to location for data.

The reason for this is that in all other cases, the chances are that crucial, frequently accessed data is already being stored by the system RAM. As RAM is staggeringly faster than any hard drive storage – be it SSD or HDD – the SSD caching does nothing to improve speed as the data is already available much quicker from the RAM.

As you can see, the main benefit of SSD caching is most apparent when booting up Windows: the OS is in a usable state much sooner than on a non-SSD cached system. Similarly, launching Steam and your favorite game after a reboot will be much faster with SSD caching.