A cache fronting a given storage device would be built from a technology
that is faster than that of the storage device in question; the cache
technology would typically cost more on a per-bit basis, but to be effective
the cache would only need to be large enough to hold the application’s
working set—the set of instructions and/or data items the application is
currently using to perform its computations [Denning 1967]. Due to locality
of reference, most of the application accesses will be satisfi ed out of the
cache, and so most of the time the access characteristics will be that of the
cache: far faster and often consuming less energy than the larger storage
device behind the cache.