Hello everybody, I wanted to share my experience with RAM Caching and to give people more of an understanding on what it is and what it does for your Computer.
First off I need to explain a little about what RAM Caching actually is. A true RAM cache is a software selected area of your system's RAM that is set aside and can only be used by that program as a means of reading and writing data to an SSD or HDD. The larger area of space you give a software program access to makes your RAM Cache more effective with large file transfers. The software utilizes a math algorithm to defer blocks of data before they get written back to the SSD or HDD, then systematically re-writes the data back to the SSD or HDD. This algorithm also has a Cache flush feature. After a certain amount of time has passed (that you are allowed to specify) it will attempt to write all of the remaining deferred blocks to the SSD or HDD, if they are not relevant anymore they are dumped to trim and deleted.
In my experiment I setup my system, a Seagate 2TB Barracuda LP, 16GB Mushkin DDR3 2400 MHz RAM running at 2133 MHz, with a 6144MB RAM Cache. I used a 16KB block size to save on overhead and tested performance using Crystal Disk Mark with a 4000MB Data set and ran 4 iterations of each test. Read and write performance from my OS partition of my RAM Cached 2TB Seagate Barracuda LP (This is a SATA II device):
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
Crystal Dew World : http://crystalmark.info/
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 3985.087 MB/s
Sequential Write : 4904.185 MB/s
Random Read 512KB : 3853.622 MB/s
Random Write 512KB : 4736.575 MB/s
Random Read 4KB (QD=1) : 599.083 MB/s [146260.6 IOPS]
Random Write 4KB (QD=1) : 329.971 MB/s [ 80559.4 IOPS]
Random Read 4KB (QD=32) : 529.485 MB/s [129268.9 IOPS]
Random Write 4KB (QD=32) : 413.839 MB/s [101034.8 IOPS]
Test : 4000 MB [C: 52.2% (189.2/362.6 GB)] (x4)
Date : 2013/09/16 1:45:25
OS : Windows 7 Home Premium Edition SP1 [6.1 Build 7601] (x64)
I would ignore the Sequential reads/writes and Random 512KB reads/writes as those are pure RAM data transfer rates. The interesting part is when you get to Random 4KB reads/writes. These are my control tests with the same data set without a RAM Cache. (This test took 3 times as long as the Cached test)
-----------------------------------------------------------------------
CrystalDiskMark 3.0.2 x64 (C) 2007-2013 hiyohiyo
Crystal Dew World : http://crystalmark.info/
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
Sequential Read : 124.634 MB/s
Sequential Write : 118.010 MB/s
Random Read 512KB : 32.618 MB/s
Random Write 512KB : 43.258 MB/s
Random Read 4KB (QD=1) : 0.358 MB/s [ 87.4 IOPS]
Random Write 4KB (QD=1) : 0.524 MB/s [ 128.0 IOPS]
Random Read 4KB (QD=32) : 0.342 MB/s [ 83.5 IOPS]
Random Write 4KB (QD=32) : 0.546 MB/s [ 133.2 IOPS]
Test : 4000 MB [C: 52.2% (189.2/362.6 GB)] (x4)
Date : 2013/09/16 2:30:16
OS : Windows 7 Home Premium Edition SP1 [6.1 Build 7601] (x64)
Pretty pathetic from a SATA II generation green drive, eh?
Ok, so what does this mean in terms of real world performance? Programs load much faster and web pages within web browsers load faster. Files up to a maximum size of your RAM Cache will transfer between drives at a much faster rate than a normal HDD or SSD can.The downside to RAM Caching, is if you have to transfer file sizes that are extremely large, like 10GB or larger. This will require more RAM in your system to get a large enough RAM Cache so that you don't run into a problem of your Cache filling up with part of the file then having to flush that stored data before it can read more data during a transfer. My personal opinion, is that most users would be ok with 16GB of RAM and a 6GB RAM Cache as most users do not transfer files larger than 6GB that often.
I do not have an SSD to give you performance numbers with a RAM Cache, but I can assure you they eclipse the numbers of my HDD by a steep margin, especially Random 4K reads/writes.
As a precaution I must note, If you wish to have RAM cache accelerated writes, because the data is held in RAM, you run the risk of data corruption if you loose power to the system unless a UPS is implemented.
All tests were done with Crystal Disk Mark v3.0.2 x64 and can be found at this link: http://crystalmark.info/software/CrystalDiskMark/index-e.html
RAM Caching done by PrimoCache Beta v0.9.1 which can be found at this link: http://www.romexsoftware.com/en-us/primo-cache/download.html
I need to add an addendum to this thread.
If you want to be able to Cache your OS and any other sensitive data with the writes being held in RAM, I would suggest isolating a small secondary HDD with a partition for keeping daily OS image backups. You can have Windows 7 do a daily overnight backup with an entire OS partition copy to the segregated HDD that has no caching on it. It's not fool proof but it's a lot better to be able to backup your OS and EFI boot partitions that way you at least have somewhere to start back from if you should experience an OS corruption from a power loss during an important data write.