I recently bought a couple of new hard drives for a new RAID-1 setup. An important criteria was that the drives be quiet as the computer is not in a server room.

While researching different products, I noticed that the same manufacturer was offering what initially appeared to be the same drive at different price points. After a closer examination, it turned out that the difference was in the size of the on-board cache. Here is an example of two 500GB Western Digital drives currently being sold by Newegg:

  • $104.99 - Western Digital Caviar SE WD5000AAJB 500GB 7200 RPM IDE Ultra ATA100 Hard Drive
  • $109.99 - Western Digital Caviar SE16 WD5000AAKB 500GB 7200 RPM IDE Ultra ATA100 Hard Drive

The former has 8MB of cache and the latter 16MB. The additional 8MB cache thus cost $5 or represent an approximate %5 increase in cost.

All major operating systems implement a disk cache to absorb the very high costs of reading from secondary storage. According to Newegg, a 1GB stick of Kingston DDR2 RAM (KVR667D2) costs $30. That is a cost of $30 / 1024 = $0.03 per MB. The hard drive cache costs $5 / 8 = $0.62 per megabyte. That is, it is 20 times more expensive.

Intuitively, this can't be worth the cost: the OS has (1) so much more RAM for the same cost, and (2) much more semantic information to use in determining the caching policy. According to "Disk Built-in Caches: Evaluation on System Performance" by Yingwu Zhu and Yiming Hu published in Modeling, Analysis and Simulation of Computer Telecommunications Systems, 2003, more than 512kb of cache is not worth the additional cost.