Buffer and Cache in Hard Drive and Operating System explains the SSD Cache Size of your SSHD

There are complaining about the small SSD in SSHD. But what is the right size for the SSD cache? It’s actually up to your physical RAM and operating system.

Let’s start from the basic: what is buffer and cache


When you read the datasheet of a hard disk, you will see a small RAM buffer. Usually from 8MB to 64MB on hard drive with 320GB to 4TB in 2013.

It provides two functions:

  1. While reading data from a hard disk, it will also read contents before or after the track it is assigned and keep them in buffer.
  2. While writing data into a hard disk, it will keep data in buffer first and write to disk later. Because RAM is much faster than disk, the hard disk may return control to CPU faster by using RAM buffer.

There are also RAM buffer in DOS and MacOS 6/7. You may ask the operating to use a small size of RAM buffer in main memory to speed up I/O.

Therefore, buffer is available in hard drive and operating system.


When we talk about the cache in operating system, we mean file system cache aka file cache. It needs a better algorithm to identify which data has higher probability to be read (aka hit ratio) in the future while buffer use a simple FIFO policy to manage. it also required more computing power than buffer.

For write cache, it keep the data in cache and write later. For operating system using write cache on network, the cache needs to keep consistent of data in cache and remote storage.

Therefore, we expect cache may use memory more efficiently than buffer.

For file cache, it caches files. For SSHD, it caches track sector. They are different. SSHD won’t be able to know file-level information. It accepts commands to read physical area like track sector.

SSD Cache in SSHD

Most SSHD only provide SSD as read cache. Therefore, I will skip write cache. For Seagate SSHD series, Adaptive Memory Technology keeps data which may accelerate boot-up process in one region and use others as data cache for operation. This prevents the boot-up related data be phased out after running for some time.

Size Matters

If you have enough RAM and the operating system may handle a bigger cache than SSHD, you will be benefit during boot-up process by SSHD only.

For example, if you have 16Gb of RAM and your operating system managed a file cache size bigger than 8GB, you won’t get improve during operation. But the boot-up process still get benefit from SSHD, data is already in your SSD cache which is faster than disk.

In another case, if you have 4GB of RAM and your operating system managed a cache size smaller than 4GB, you will get performance improve because your file cache can keep a smaller subset of the data in your SSD cache in SSHD only. You still need to read from SSHD when the file is missed in file cache.

To summarize, you will be benefit from SSHD with 8GB SSD Cache if you have a system with less than 8 GB RAM. To be more precisely, if your cache size is smaller than (8-x) GB, you shall be more responsive with SSHD than traditional disk at the same RPM. x is the capacity per-occupied by boot-up process related data by Adaptive Memory Technology or like.

More about File Cache

You may use Linux command free to see the size of your cache as below. More detail explain may be found in Check your RAM usage with free in Linux. ‎

cache size on my OpenSuSE 12.3 with 16GB of RAM after running more than 14 hours
cache size on my OpenSuSE 12.3 with 16GB of RAM after running more than 14 hours

In Windows 8, you may launch Task Manager to see the cache size in [Process] tab.

Cache size identified by Windows 8 Task Manager in VirtualBox VM with 4GB RAM
Cache size identified by Windows 8 Task Manager in VirtualBox VM with 4GB RAM

As you may see, the file cache is far less than 8GB. Therefore, I get benefit from using Seagate Desktop SSHD with 8GB of SSD cache with my Lenovo ThinkCentre Edge 72z running OpenSuSE 12.3 x64.

Also, because the cache is handle by Seagate Desktop SSHD, there is no performance hit by running cache process nor operating system lock-in.


  1. Wiki: Disk buffer
  2. Wiki: The difference between buffer and cache
  3. Microsoft MSDN: File Caching
  4. Seagate: Adaptive Memory Technology in Solid State Hybrid Drives
  5. Computer Hope: Linux and Unix free command
  6. The Linux Juggernaut: Understanding free command in Linux/Unix
  7. Buffer and Cache in Hard Drive and Operating System explains the SSD Cache Size of your SSHD
  8. Check your RAM usage with free in Linux
  9. Wiki: Disk sector
  10. StackOverflow: Linux memory: buffer vs cache
  11. ArchLinux: How to reduce max buffer/cache size?
  12. StackExchange: Unix&Linux: Can I configure my Linux system for more aggressive file system caching?
  13. TechNet: File Cache Performance and Tuning
  14. TechNet: Windows Internals Book
  15. Windows Eight Forums: Upgraded to Windows 8, insane RAM cache.
  16. ghacks.net: Increase The FileSystem Memory Cache Size In Windows 7
  17. Microsoft: How to set performance options in Windows XP
  18. OpenSuSE 12.3
  19. Seagate Desktop SSHD

2 thoughts on “Buffer and Cache in Hard Drive and Operating System explains the SSD Cache Size of your SSHD

  1. Hello,

    One small question: I want to buy a laptop with 8gb ram, 1tb hdd and 8gb nand. Will the 8gb nand show a performance improvement?


    Liked by 1 person

    • 1TB HDD + 8GH NAND has two possible combination: SSHD or software SSD Cache. The later will be more complex to discuss if you are using Mac Fusion Drive or running with different solution (dm-cache, bcache) on Linux.

      For SSHD, it’s easier to explain. If your laptop comes with 8GB or RAM and using an SSHD with 5400rpm HDD and 8GB SSD, some of the disk read operation will be read from 8GB SSD cache because your operating won’t have file cache larger than 8GB. Since the cache contents are kept in SSD, data will read from SSD instead of RAM cache by file system after reboot.

      For real life experience, you will first get benefit from boot up. When you want to launch a program which has already in SSD but not in RAM cache by file system, you will feel the different. When you launch more and more program, your RAM cache will shrink to release RAM to running programs. Then the hit ratio will increase when you need to read data because the RAM cache would be smaller than the SSD cache.

      My personal experience compare a WD black 7200rpm 320GB and Seagate 1TH SSHD with 5400RPM HDD on HP ProBook 4520s with 8GB of RAM running Windows 8 and VisualStudio Express, I can feel my programs are more responsive and hear less disk noisy.

      But I would like to remind you that SSHD consume more power than SSD or HDD, please check How I choose SSHD for different purpose

      Wish it helps!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s