Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!mips!rat!rat!harv From: harv@rat.uucp (Patrick Harvey) Newsgroups: comp.periphs.scsi Subject: Re: Controller Cache vs. Software Cache Message-ID: <1991Jun16.023511.1891@vlsisj.uucp> Date: 16 Jun 91 02:35:11 GMT Sender: usenet@vlsisj.uucp (Usenet News) Organization: VLSI Technology, Inc. (Tempe) Lines: 49 In article <633@zds-ux.UUCP> you write: >In article <30738@hydra.gatech.EDU> jt34@prism.gatech.EDU (THOMPSON,JOHN C) writes: >>How does the performance of a scsi host adaptor with built in caching hardware >>compare to the performance of a software caching program or OS caching? >>Which is faster? Is onboard drive caching even faster? Any definitive research >>on this subject? Is there a source on the net for a scsi perpiheral benchmark >>program/source code? Thanks > >Logically, software caching must be faster (assuming reasonalble >implementations in both cases), in the case of a cache hit because it >can just hand over the data rather than needing to perform an I/O >operation. On the other hand, there is one type of hardware caching >that does make sense, read-ahead track buffering, but even this can >be handled to some extent in software, and it's better done in the >drive itself if your going to do it at all (and some drives do). > >Now, this doesn't mean there aren't other reasons for wanting a cache >on the controller; for example, so you can implement special multi-drive >features such as mirroring, arrays, etc. If the controller designer >does it right, they could introduce a simple caching controller and >later provide these advanced features as a firmware upgrade. > >Gerry Gleason Almost any time you have bottlenecks between processing nodes, installing some kind of cache can potentially speed up the application. The question of whether a hardware cache is better than a software cache can depend on what application set you are running. If you don't want the host cpu spending time performing caching while it could be executing an application, then a hardware cache makes sense. Also, a hardware cache, if implemented with a suitable processor, can perform some interesting heuristics to achieve an impressively good hit rate. The software cache definitely has the advantage of having the most direct route from cache to host, but it steals resources such as host memory and cpu cycles which are better used for running the host's applications. The best solution might be some kind of cache controller which can reside on the motherboard (maybe an IDE cache controller) with its own memory and support some high-performance method of moving data into host memory without dealing with the ISA or EISA busses. ... It happens that we were at Comdex with just such a device. For more info contact: Peter Sorrells VLSI Technology (602) 752-6163 vlsisj!phx!sorrells@decwrl.dec.com