Say you are using a raid configuration which has an "internal" controller using "write" cache.

Say that the "write" cache is battery backed.

Say that the cache is not mirrored.

Say that the cache has a memory error.

Obviously the memory card (or a least a chip on it) needs to be replaced.

In SQL Server 2000 Administrator's companion book, Microsoft says that if you
configure a cluster configuration using an "external" controller and you use
"write" cache, to be sure that the vendor support mirroring of the cache in case
there is a memory error.

Now for my question.

Why would you not ALSO want to mirror cache in an "internal" controller which
uses "write" cache?

in example

Say SQL writes your change to the transaction log
Say lazywriter has written (so it thinks) the dirty page to the database
Say cache tells SQL Server I've written the page to the database, but the
page is sitting in cache's memory
Say cache gets a memory error and does not get to write the page to disk
I am assuming from here that if the database is fully recovered, that the page
which did not get written to the database will NOT be recovered, maybe because
the log checkpoint has advanced beyond where it says that the data base page
was written to the database.

Again the question, why would you not want to mirror cache for "internal" controllers?