SSD Caching

We finally have a Sandy Bridge chipset that can overclock and use integrated graphics, but that's not what's most interesting about Intel's Z68 launch. This next feature is.

Originally called SSD Caching, Intel is introducing a feature called Smart Response Technology (SRT) alongside Z68. Make no mistake, this isn't a hardware feature but it's something that Intel is only enabling on Z68. All of the work is done entirely in Intel's RST 10.5 software, which will be made available for all 6-series chipsets but Smart Response Technology is artificially bound to Z68 alone (and some mobile chipsets—HM67, QM67).

It's Intel's way of giving Z68 owners some value for their money, but it's also a silly way to support your most loyal customers—the earliest adopters of Sandy Bridge platforms who bought motherboards, CPUs and systems before Z68 was made available.

What does Smart Response Technology do? It takes a page from enterprise storage architecture and lets you use a small SSD as a full read/write cache for a hard drive or RAID array.

With the Z68 SATA controllers set to RAID (SRT won't work in AHCI or IDE modes) just install Windows 7 on your hard drive like you normally would. With Intel's RST 10.5 drivers and a spare SSD installed (from any manufacturer) you can choose to use up to 64GB of the SSD as a cache for all accesses to the hard drive. Any space above 64GB is left untouched for you to use as a separate drive letter.

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.

Enhanced mode is the most secure, but it limits the overall performance improvement you'll see as write performance will still be bound by the performance of your hard drive (or array). In enhanced mode, if you disconnect your SSD cache or the SSD dies, your system will continue to function normally. Note that you may still see an improvement in write performance vs. a non-cached hard drive because the SSD offloading read requests can free up your hard drive to better fulfill write requests.

Maximized mode offers the greatest performance benefit, however it also comes at the greatest risk. There's obviously the chance that you lose power before the SSD cache is able to commit writes to your hard drive. The bigger issue is that if something happens to your SSD cache, there's a chance you could lose data. To make matters worse, if your SSD cache dies and it was caching a bootable volume, your system will no longer boot. I suspect this situation is a bit overly cautious on Intel's part, but that's the functionality of the current version of Intel's 10.5 drivers.

Moving a drive with a maximized SSD cache enabled requires that you either move the SSD cache with it, or disable the SSD cache first. Again, Intel seems to be more cautious than necessary here.

The upside is of course performance as I mentioned before. Cacheable writes just have to hit the SSD before being considered serviced. Intel then conservatively writes that data back to the hard drive later on.

An Intelligent, Persistent Cache

Intel's SRT functions like an actual cache. Rather than caching individual files, Intel focuses on frequently accessed LBAs (logical block addresses). Read a block enough times or write to it enough times and those accesses will get pulled into the SSD cache until it's full. When full, the least recently used data gets evicted making room for new data.

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.

Intel claims it's very careful not to dirty the SSD cache. If it detects sequential accesses beyond a few MB in length, that data isn't cached. The same goes for virus scan accesses, however it's less clear what Intel uses to determine that a virus scan is running. In theory this should mean that simply copying files or scanning for viruses shouldn't kick frequently used applications and data out of cache, however that doesn't mean other things won't.

 

Introduction Intel's SSD 311 20GB: Designed to Cache
Comments Locked

106 Comments

View All Comments

  • µBits - Monday, July 11, 2011 - link

    http://download.intel.com/support/motherboards/des...

    System Requirements:
    For a system to support Intel Smart Response Technology it must have the following:
    • Intel® Z68 Express Chipset-based desktop board
    • Intel® Core™ Processor in the LGA 1155 package
    • System BIOS with SATA mode set to RAID
    • Intel Rapid Storage Technology software 10.5 version release or later
    • Single Hard Disk Drive (HDD) or multiple HDD’s in a single RAID volume
    • Solid State Drive (SSD) with a minimum capacity of 18.6GB
    • Operating system: Microsoft Windows Vista 32-bit Edition and 64-bit Edition, Microsoft Windows 7 32-bit Edition and 64-bit
  • codedivine - Wednesday, May 11, 2011 - link

    I am interested in using Linux and I am wondering about various things:
    1. Will it work under Linux? Can I configure it from Linux?
    2. Is it file system dependant? I guess it is not.
    3. Whether it will work on multi-OS machines. For example, what happens if I dual boot Windows and Linux?

    Unrelated to Linux is, does this scheme get confused by say using lots of VMs?
  • Penti - Wednesday, May 11, 2011 - link

    No, so called fake raid (software raid) that the chipset/drivers supports do never work in Linux. RST do not work under other OS's then Windows. Mac and Linux will have to use the built in software raid rather then the none existing driversbased one. And will lack all support for SSD caching.

    VMs usually write to a virtual hard drive (file) that saves the data to the disk. That should be absolutely fine.
  • Mulberry - Saturday, May 21, 2011 - link

    but to the question on dual booting:

    Can you dual boot eg. Win XP and Win 7?
  • headhunter00 - Sunday, August 7, 2011 - link

    well, you can always set the root partition on the ssd, by creating custom partitions during installation, and set the resource hogging partitions such as /var and /home on your hdd. this way, all the binaries and libraries load from the hdd. if you don't have enough space on your hdd to do that either, then you are out of luck. thats the closest you can get to ssd caching in linux. ofcourse there is a patch for the kernel to do ssd caching natively, but its pretty outdated and probably not compatible with your hardware. to do ssd-caching in windows with linux, you have to preserve some space on ssd to do so.
  • MonkeyPaw - Wednesday, May 11, 2011 - link

    The virtue interface is awful. Looks like the ugly tree fell on that android girl.
  • sunbear - Wednesday, May 11, 2011 - link

    Consumer nases (readynas, qnap, etc) could really benefit from this. Flashcache (http://planet.admon.org/flashcache-caching-data-in... released by facebook also looks interesting.
  • fitten - Wednesday, May 11, 2011 - link

    Can you have an SSD as your boot drive, then a large HDD (typical configuration... OS/apps on SSD, data/etc on HDD) and then have yet-another SSD enabled with SRT for caching the HDD? Seems like the best of both worlds (other than cost).
  • swhitton - Wednesday, May 11, 2011 - link

    I reckon that setup would almost certainly work fine.

    What I'm wondering is whether you could use a single SSD partitioned so that part of it was a boot drive and the other part was a cache for a HDD. Such a setup would solve the problem of the 120gb SSD not being quite the right size for any particular purpose.

    A 60-80gb partition with Windows and apps on it and the remaining space used as a cache. This would avoid the problem of having to symbolic link Steam games and so forth, while also not requiring you to buy two SSDs in order to have a boot drive and a cache drive.

    Anand did mention that a cache drive could be partitioned so that only part of it needed to be used as a cache. Just not sure if there would be any issues that might arise with using the remaining partition as a boot drive.

    Thoughts anyone?
  • y2kBug - Wednesday, May 11, 2011 - link

    Here is a quote from vr-zone.com’s review (http://vr-zone.com/articles/first-look-msi-z68a-gd... ) on SRT: “All existing partitions on the SSD must be deleted before it can be used as a cache”. This makes me believe that using oneSSD for dual purposes (boot drive and SRT at the same time) is not possible. I really want to hear Anand’s last word on this.

Log in

Don't have an account? Sign up now