SSDs and Caching

IBM: Effect of Data Placement on SSD EffectivenessOne of the SSD Guy’s favorite subjects is caching and SSDs.  This is because I wrote a book on processor caches in the early 1990s, and the advent of SSD caches in storage systems hearkens back to the technology detailed in that book.

Caching works well whenever there are two layers in the memory hierarchy since the fast expensive layer can replicate data in the slow inexpensive layer to accelerate the processor’s performance.

One interesting point is that the cache works best if left to its own devices to determine what data should be stored in the faster layer.  Yes, people are always tempted to take control of the situation themselves, but it’s amazing how easy it is to overlook certain drains on computer performance that a relatively simple algorithm can find without human intervention.

The image for this blog comes from the report: The Enterprise SSD: Technologies & Markets which can be ordered for direct download from the Objective Analysis website.  The data for the chart was provided by IBM researchers.  This group compared the operation of database inquiries on an all-HDD and an all-SSD system.  These are the columns on the far left and right of the chart, respectively.  The all-SSD system performed at ten times the speed of the all-HDD system.

This team then configured a system with a full complement of HDDs and a smaller set of SSDs whose capacity was about 20% that of the HDDs.  First the researchers placed the files that they understood to be the most important into the SSDs, with all other data remaining in the HDDs.  This is called: “Manual Data Placement.”  The second column from the right shows the performance of this approach.  It is, quite respectably, twice as fast as the HDD-only system.

The researchers then used the same configuration, but allowed a relatively simple algorithm to determine which data to place in the SSDs and which to leave in the HDDs.  Using this “Automatic Data Placement” approach they found that the system performed eight times as fast as the HDD-only system, or 80% as fast as the SSD-only system, all with only 20% of the system’s storage replicated on SSDs.

Given the significantly higher cost of SSDs compared to HDDs, and with the understanding from The SSD Guy’s previous post that this gap is unlikely to close, then it is only natural to anticipate that systems will probably move to the use of small NAND caches (either in the form of an SSD, hybrid HDD, or other formats) coupled with a spacious HDD for general storage.

3 Responses to SSDs and Caching

  • Chris Newman says:

    I have an interesting question regarding SSD Cache I hope you will help me with. I understand the ssd cache requires Win7, with a max 2TB boot drive and only 1 ssd. The question is in regards to dual boot scenarios with Win7 32 bit and Win7 64 bit. Can I have separate 2tb boot drives with separate ssd cache drives within the same box? Within that question lies another, can I partition a 2tb boot drive with a dual boot having 1 tb per boot (1 tb win 7 32 bit and 1 tb win 7 64 bit) and a single ssd cache?

    • Jim Handy says:

      Yikes! My apologies for not replying to this sooner.

      Your question is pretty involved and beyond my expertise, but let me bounce it off some Microsoft experts and see what I come up with.

      I actually suspect that the answer lies with Intel’s Rapid Store Technology (RTS) rather than with Microsoft. I’ll check both avenues.

  • Gary says:

    The tricky thing is how to find cache software independent of SSD. I bought a laptop with an Intel mSATA SSD but an Intel chipset that supports only their “Rapid” software but not the “Smart” software which is the one that does the caching. So how to use it as a cache for the pokey slow 5400 RPM platter drive? Dataplex (and others) only work with bundled models! Furthermore, even Windows ReadyBoost detects the speed of the boot drive (a different SSD) and insists the computer is too fast so RB will not even enable! I suppose it’s my own naive fault for not buying a bundled software/SSD! Any suggestions to use a non-bundled, non-chipset supported SSD as a cache?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>