The write cache on the disk controller is a two-edged sword in a SAN environment, especially one handling transactions....
Although a cache improves throughput, it is also a potential point of failure, which can corrupt the entire database when writes are being cached. The cache on a SAN isn't any more likely to have problems than one on a conventional storage system, but because SANs are more often used in business-critical environments, a problem with data cached on write in a SAN is likely to have more serious consequences.
The general rule is that if the cache isn't adequately protected, don't use write caching. Controllers vary in the safety features they provide, but some of the ones to look for include features to prevent uncontrolled resets, on-board battery backup of the cache memory and error-correcting or mirrored memory. Further, if you are using failover clustering, you should consider using mirrored cache. Various vendors have different feature sets and you should consider which one best matches your requirements.
A faulty read cache can cause problems too, of course, but usually the data will be preserved.
Microsoft discusses write caching and potential pitfalls in Chapter 6 of its SQL Server Operations Guide available over the Web from Microsoft's Technet site.
Rick Cook has been writing about mass storage since the days when the term meant an 80K floppy disk. The computers he learned on used ferrite cores and magnetic drums. For the last twenty years he has been a freelance writer specializing in storage and other computer issues.