Hybrid Hard Drives, how do they work?

I was reading yesterday's Jeff Atwood blog post on Revisiting SSD and I first heard about hybrid hard drives: a HD that has a small SSD portion (let's say 4GB) and the rest is a regular spinning hard drive (let's say 500GB). So, it's greater performance without all the high (for now) cost of a FULL SSD hard drive.

So, my question is:

Who decides what goes into the SSD portion? Is it done by software (OS)? Is it done by hardware/firmware inside the disk?


With those specs, let's say you're talking about the Seagate Momentus XT. AnandTech has an informative review of the drive. Excerpt:

The size of the NAND was a shocker to me when I first heard it. I honestly expected something much larger. In the Momentus XT however, the SLC NAND acts exclusively as a read cache - writes never touch the NAND. The drive looks at access patterns over time (most likely via a history table of LBAs and their frequency of access) and pulls some data into the NAND. If a read request comes in for an LBA that is present in the NAND, it's serviced out of the 4GB chip. If the LBA isn't present in the NAND, the data comes from the platters.

The potential for hybrid drives continues to be huge, what Seagate has shown here is that with a minimal amount of NAND you can achieve some tremendous performance gains. There's no reason for any performance oriented mechanical drive to ship without at least some small amount of NAND on board. There's also much room for Seagate to innovate. We could see drives with more NAND or truly hybrid drives that provide read and write caching in NAND.

For a real world example, I just upgraded to this drive recently on my MacBook and can attest that the OS and my main applications load up much faster.


All hard drives made since 1997 or so (possibly earlier) have cache or buffer RAM. The drive's firmware stores what it thinks are frequently accessed sectors in the cache RAM, and thus it can immediately deliver them over the bus when requested instead of fetching it from the comparatively slow disk.

So hybrid hard drives use this as another layer of cache. It's under control of the drive's firmware. Similar in concept to how you have L1 and L2 cache in CPU.