Many higher-end SCSI controllers have built-in caches. The idea behind a cache is to
use high-speed memory to hold recently retrieved results, to save time if the results are
needed again in the near future. This improves performance because most SCSI devices are
drives, much slower than memory in relative terms. Caching is a concept that is used
extensively within the PC world; it is found in CPUs, hard disks, optical drives and a
variety of other devices.
Caching that is done by the SCSI controller adds an additional caching level that
exists, logically, in front of the cache (buffer) that
resides within SCSI hard disks or other components. When data is requested from a device
on the SCSI bus, the host adapter sees if it is already in its internal cache and if so,
returns the results much more quickly, saving transaction bandwidth on the SCSI bus at the
same time. This of course improves performance over a system that does not have this type
of cache.
The amount of cache memory on a host adapter depends on the model; some are
user-upgradeable. Note that there are diminishing returns associated with cache memory;
each megabyte you add helps performance less than the previous megabyte did...
Next: Multiple Segment and Channel Support