I would be very sceptical to the point of calling it BS. You're basically taking RAM away from mature, highly tuned RAM-intensive and data-aware applications so that you can give it "better" disk caching.
Exchange is deliberately written to be intelligent about cache, RAM usage and disk access - you can put 50-100 users on a single SATA disk with ease, and I can tell you I have an org running 1000 users on old Exchange (07!) on a ten disk RAID 10. What good is better disk caching when it's not using the disk?
SQL has been smart about using RAM for more than two decades. Really, really big databases (50-100x memory size) can run just fine on SQL when properly set up. Taking RAM from SQL just moves it from SQL buffer cache to your block cache - and I bet SQL knows a metric frackton more about what is in the data it's caching than primocache can.
Also, let me rip apart "features" like these:
- Some applications can bypass Windows cache but cannot bypass PrimoCache because PrimoCache runs at a lower level in Windows.
So an application is written to bypass cache for data safety, but let's stick it in RAM anyway because screw data protection.
- Windows caches all data, while PrimoCache can cache on behalf of a specified volume in which users are interested. Given same size of system memory, the latter has a higher hit-rate.
Windows is not going to cache stuff that people don't request or that isn't needed for the OS.
- PrimoCache supports persistent SSD caching for mechanical hard disks, improving system boot-up time and applications loading time. Windows cache cannot.
Storage Spaces.
- PrimoCache can customize write-deferred mode, while Windows cache cannot.
See first point.
- PrimoCache can make use of Invisible Memory on 32-bit Windows as cache, overcoming the Windows limits on amount of system memory.
Servers haven't been x86 since Windows 2008 R2 and that's going EOL soon.