Disk and File Caches

Author: Richard Mi
A simple online research compiled for CS352, at University of Texas at Austin.
This site is cookie free. Sorry, no cookies for you.
Best viewed at 1024x768. You've been warned.


A cache, by definition (at least according to www.dictionary.com) is "A fast storage buffer in the. . . computer."

So how does this apply to Systems Architecture?
     To improve overall system performance, and decrease response time.

To that end, there are several types of cache used in a computing environment, two of which will be discussed here. The first type would be the disk cache, which is used to reduce the read/write time from/to a hard disk drive because it is used to store data that is likely to be used repeatedly or will be needed soon. This is where "temporary" files are stored until it is needed again (whenever that might be). Incidentally this also leads to some technical solutions calling for clearing of the "disk cache". Whereas the file cache, A.K.A. virtual memory, is what an operating system uses in case of running out of physical memory (RAM). It is very easy to get both caches confused, as both resides physically on the hard drive when deployed, and both are used as "scratch space" by either the operating system or an application, or both.

For example, Microsoft Windows allows one to set the file cache option, which sets aside an amount of space to be used for virtual memory. But in Adobe Photoshop, the user can define "scratch disks" to be used during an image operation (essentially a disk cache). There are a lot of similarities between the two, but there is one clear distinction. A disk cache allows for temporary files to be created (and manipulated manually), which increases or decreases with use. But a file cache usually is a block of hard drive space that is reserved, and cannot be used by anything else.

The following are links which contain further in-depth details regarding this topic, which the author hopes the reader will find useful.

Usenet / Newsgroups:

  • news://comp.os.ms-windows.programmer.memory
          User support group for cache/memory issues in the Microsoft Windows environment

    Tutorials:

  • http://www.webopedia.com/TERM/C/cache.html
          A quicky tutorial on Cache
  • http://www.webopedia.com/TERM/D/disk_cache.html
          A quicky tutorial about Disk Cache
  • http://www.w3.org/Library/User/Architecture/Cache.html
          A quicky tutorial about File Cache

    Online Repositories:

  • http://citeseer.nj.nec.com/directory.html
          The NEC Research Institute Scientific Literature Digital Library, Computer Science Directory

    Benchmarks and Utilities:

  • http://www.etestinglabs.com/benchmarks/winbench/winbench.asp
          A comprehensive Disk Cache Benchmark Utility
  • http://www.zdnet.com/downloads/stories/info/0,,29191,.html
          A Disk Cache read/write manager utility
  • http://www.zdnet.com/downloads/stories/info/0,10615,64608,00.html
          A Security Patch for file cache vulnerability involving emails

    Technical References from the industry:

  • http://www-1.ibm.com/servers/eserver/iseries/hsmcomp/eacachewhtpaper.htm
          IBM's improvements on disk cache access
  • http://semiconductor.hitachi.com/sram.html
          Hitachi Semiconductors, a manufacturer of SRAM cache (includes datasheets and emulators)

    Recent research articles:

  • http://archi.snu.ac.kr/symin/research.html
          Sang Lyul Min's Research, including cache memory
  • http://www.ele.uri.edu/Research/hpcl/RAPID/RAPID.html
          Reserach on Disk Cache for RAID disk systems
  • http://archvlsi.ics.forth.gr/html_papers/TR190/paper.html
          Performance of File Cache in a network environment

    Miscellaneous

  • http://www.lowendmac.com/tech/diskcache.shtml
          An interesting insight regarding RAM Drives and Disk Caches.
         Even though the basis on this discussion was the RISC architecture, it is also applicable to the x86 architecture.



    Copyright 2002, RPM Freelancers. All Rights Reserved.